Adding a proper way to create generic constructions.