3 Could not deduce (C1 a1 b2 c0) arising from a use of `f1'
4 from the context (Monad m, C1 a1 b1 c1, C2 a2 b2 c2)
5 bound by the type signature for
6 f2 :: (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) =>
7 a1 -> StateT (T b2) m a2
9 The type variable `c0' is ambiguous
10 Possible fix: add a type signature that fixes these type variable(s)
11 In the first argument of `(>>=)', namely `f1 fm'
12 In the expression: f1 fm >>= return . undefined
13 In an equation for `f2': f2 fm = f1 fm >>= return . undefined