reflection doesn't need to depend on scala-reflect