More permissive upper bounds on base and template-haskell