Add ability to enforce parameters by type