The new monad transformer stack kinda blows but in theory if i do it right i can do away with Data.Dynamic