If command-line launcher can be used without reflection, building Scala Native application will be easier. - [ ] Surface should collect method annotations as Map[String, Any] valus - [ ] Use Scala annotation instead of JDK annotation for reading them in Scala macros Similar approach https://github.com/com-lihaoyi/mainargs