type erasure for build specializations