can now generate vals with parameterized types