use Monadic instead