Allow for completely custom types.