towards completely autogenerated functions