A syntax for type-safe effectful computations in Scala