code: func Keys(m interface{}) interface{} {
  	chk := ty.Check(
  		new(func(map[ty.A]ty.B) []ty.A),
  		m)
  	vm, tkeys := chk.Args[0], chk.Returns[0]
  
  	vkeys := reflect.MakeSlice(tkeys, vm.Len(), vm.Len())
  	for i, vkey := range vm.MapKeys() {
  		vkeys.Index(i).Set(vkey)
  	}
  	return vkeys.Interface()
  }
docs: // Keys has a parametric type:
  //
  //	func Keys(m map[A]B) []A
  //
  // Keys returns a list of the keys of `m` in an unspecified order.