Add parametric types

/cc @josevalim