minor edit
simplify Alpha to use monad transformers instead of FlexibleContexts