Yes, there's nothing particularly wrong with it, but core types should be standardized or you end up with multiple string libraries (as in C) or multiple dependency injection libraries (as in Java). Validation libraries already exist for Java.
So if this sort of thing takes off there is likely to be a standardization process at some point.
Go works better for this because common interfaces can be implemented by "coincidence." (Structural types.)