Sharing this method with inheritance rather than patching it on would seem more conventional. How about

```python
@classmethod
def to_primitive(cls, value, for_db):
    if value is None:
        return None
    return cls.primitive_type(value)
```
either on Attribute or as a mixin for these types?

(plus adding the primitive type properties to each class) 

switching from staticmethod -> classmethod is transparent for callers, so this should be ok