He called functional dependence or falsification short. Syntax
class Monad m => MonadState sm | m -> s where
means that for each m there is only one instance or, in other words, if m known, the compiler can infer the type of form s , which. Using fundeps makes coding much easier, because the compiler can do much more.
source share