code: func interpolationFuncKeys(vs map[string]ast.Variable) ast.Function {
  	return ast.Function{
  		ArgTypes:   []ast.Type{ast.TypeMap},
  		ReturnType: ast.TypeList,
  		Callback: func(args []interface{}) (interface{}, error) {
  			mapVar := args[0].(map[string]ast.Variable)
  			keys := make([]string, 0)
  
  			for k, _ := range mapVar {
  				keys = append(keys, k)
  			}
  
  			sort.Strings(keys)
  
  			// Keys are guaranteed to be strings
  			return stringSliceToVariableValue(keys), nil
  		},
  	}
  }
docs: // interpolationFuncKeys implements the "keys" function that yields a list of
  // keys of map types within a Terraform configuration.