The interface to the numeric tower is too abstract and so haskell complains that it cannot solve the `IsString a` constraint on `iLit`: ``` twoVars :: IO Result twoVars = flip sat Nothing $ iRef "x" + 2 .== iRef ("y" :: Text) ``` hence these annotations.