Move more logic to struct methods
Rename to->as for wrapping method