undefinedFun :: Monad m
             => String
             -> m a
undefinedFun name = fail $ name ++ " undefined for Annotated"
undefinedFun :: Monad m
             => String
             -> m a
undefinedFun name = fail $ name ++ " undefined for Annotated"
undefinedFun name = fail $ name ++ " undefined for Annotated"