+ if (!IsSequence( find_oid_referenced (defobject) ) ) + elog(ERROR, "Column defaults can only depend on sequences")
Except column defaults can depends on lots of things - its only if the column default happens to invoke nextval that the specific type of object being passed to nextval needs to be a sequence.
You might be able to stick "something" in the recordDependencyOnExpr(&defobject, expr, NIL, DEPENDENCY_NORMAL); call (have gone and found that code...) but catalog/heap.c:: StoreAttrDefault itself doesn't operate at the level of detail.
Ultimately you'd have to add a hack for the function name nextval...