Reusable adapter for function-based schemas