@:genericBuild

This adds `@:genericBuild`, which works like `@:build` but per-instance and then has access to type parameters.

This has various use-cases, e.g. replicating `@:generic` behavior (https://gist.github.com/Simn/8ae509cc3824099c1567) or wrapping a given type in a read-only structure (https://gist.github.com/nadako/8999329).