// DO NOT EDIT: This file is autogenerated via the builtin command.

package experimental

import (
	ast "github.com/influxdata/flux/ast"
	runtime "github.com/influxdata/flux/runtime"
)

func init() {
	runtime.RegisterPackage(pkgAST)
}

var pkgAST = &ast.Package{
	BaseNode: ast.BaseNode{
		Comments: nil,
		Errors:   nil,
		Loc:      nil,
	},
	Files: []*ast.File{&ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 18,
					Line:   113,
				},
				File:   "experimental.flux",
				Source: "package experimental\n\n\nbuiltin addDuration : (d: duration, to: time) => time\nbuiltin subDuration : (d: duration, from: time) => time\n\n// An experimental version of group that has mode: \"extend\"\nbuiltin group : (<-tables: [A], mode: string, columns: [string]) => [A] where A: Record\n\n// objectKeys produces a list of the keys existing on the object\nbuiltin objectKeys : (o: A) => [string] where A: Record\n\n// set adds the values from the object onto each row of a table\nbuiltin set : (<-tables: [A], o: B) => [C] where A: Record, B: Record, C: Record\n\n// An experimental version of \"to\" that:\n// - Expects pivoted data\n// - Any column in the group key is made a tag in storage\n// - All other columns are fields\n// - An error will be thrown for incompatible data types\nbuiltin to : (\n    <-tables: [A],\n    ?bucket: string,\n    ?bucketID: string,\n    ?org: string,\n    ?orgID: string,\n    ?host: string,\n    ?token: string,\n) => [A] where\n    A: Record\n\n// An experimental version of join.\nbuiltin join : (left: [A], right: [B], fn: (left: A, right: B) => C) => [C] where A: Record, B: Record, C: Record\nbuiltin chain : (first: [A], second: [B]) => [B] where A: Record, B: Record\n\n// Aligns all tables to a common start time by using the same _time value for\n// the first record in each table and incrementing all subsequent _time values\n// using time elapsed between input records.\n// By default, it aligns to tables to 1970-01-01T00:00:00Z UTC.\nalignTime = (tables=<-, alignTo=time(v: 0)) => tables\n    |> stateDuration(\n        fn: (r) => true,\n        column: \"timeDiff\",\n        unit: 1ns,\n    )\n    |> map(fn: (r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)}))\n    |> drop(columns: [\"timeDiff\"])\n\n// An experimental version of window.\nbuiltin window : (\n    <-tables: [{T with _start: time, _stop: time, _time: time}],\n    ?every: duration,\n    ?period: duration,\n    ?offset: duration,\n    ?createEmpty: bool,\n) => [{T with _start: time, _stop: time, _time: time}]\n\n// An experimental version of integral.\nbuiltin integral : (<-tables: [{T with _time: time, _value: B}], ?unit: duration, ?interpolate: string) => [{T with _value: B}]\n\n// An experimental version of count.\nbuiltin count : (<-tables: [{T with _value: A}]) => [{T with _value: int}]\n\n// An experimental version of histogramQuantile\nbuiltin histogramQuantile : (<-tables: [{T with _value: float, le: float}], ?quantile: float, ?minValue: float) => [{T with _value: float}]\n\n// An experimental version of mean.\nbuiltin mean : (<-tables: [{T with _value: float}]) => [{T with _value: float}]\n\n// An experimental version of mode.\nbuiltin mode : (<-tables: [{T with _value: A}]) => [{T with _value: A}]\n\n// An experimental version of quantile.\nbuiltin quantile : (<-tables: [{T with _value: float}], q: float, ?compression: float, ?method: string) => [{T with _value: float}]\n\n// An experimental version of skew.\nbuiltin skew : (<-tables: [{T with _value: float}]) => [{T with _value: float}]\n\n// An experimental version of spread.\nbuiltin spread : (<-tables: [{T with _value: A}]) => [{T with _value: A}] where A: Numeric\n\n// An experimental version of stddev.\nbuiltin stddev : (<-tables: [{T with _value: float}], ?mode: string) => [{T with _value: float}]\n\n// An experimental version of sum.\nbuiltin sum : (<-tables: [{T with _value: A}]) => [{T with _value: A}] where A: Numeric\n\n// An experimental version of kaufmansAMA.\nbuiltin kaufmansAMA : (<-tables: [{T with _value: A}], n: int) => [{T with _value: float}] where A: Numeric\n\n// An experimental version of distinct\nbuiltin distinct : (<-tables: [{T with _value: A}]) => [{T with _value: A}]\n\n// An experimental version of fill\nbuiltin fill : (<-tables: [{T with _value: A}], ?value: A, ?usePrevious: bool) => [{T with _value: A}]\n\n// An experimental version of first\nbuiltin first : (<-tables: [{T with _value: A}]) => [{T with _value: A}]\n\n// An experimental version of last\nbuiltin last : (<-tables: [{T with _value: A}]) => [{T with _value: A}]\n\n// An experimental version of max\nbuiltin max : (<-tables: [{T with _value: A}]) => [{T with _value: A}]\n\n// An experimental version of min\nbuiltin min : (<-tables: [{T with _value: A}]) => [{T with _value: A}]\n\n// An experimental version of unique\nbuiltin unique : (<-tables: [{T with _value: A}]) => [{T with _value: A}]\n\n// An experimental version of histogram\nbuiltin histogram",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 20,
						Line:   4,
					},
					File:   "experimental.flux",
					Source: "builtin addDuration",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   4,
						},
						File:   "experimental.flux",
						Source: "addDuration",
						Start: ast.Position{
							Column: 9,
							Line:   4,
						},
					},
				},
				Name: "addDuration",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 54,
							Line:   4,
						},
						File:   "experimental.flux",
						Source: "(d: duration, to: time) => time",
						Start: ast.Position{
							Column: 23,
							Line:   4,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 54,
								Line:   4,
							},
							File:   "experimental.flux",
							Source: "(d: duration, to: time) => time",
							Start: ast.Position{
								Column: 23,
								Line:   4,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   4,
								},
								File:   "experimental.flux",
								Source: "d: duration",
								Start: ast.Position{
									Column: 24,
									Line:   4,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   4,
									},
									File:   "experimental.flux",
									Source: "d",
									Start: ast.Position{
										Column: 24,
										Line:   4,
									},
								},
							},
							Name: "d",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   4,
									},
									File:   "experimental.flux",
									Source: "duration",
									Start: ast.Position{
										Column: 27,
										Line:   4,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 35,
											Line:   4,
										},
										File:   "experimental.flux",
										Source: "duration",
										Start: ast.Position{
											Column: 27,
											Line:   4,
										},
									},
								},
								Name: "duration",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 45,
									Line:   4,
								},
								File:   "experimental.flux",
								Source: "to: time",
								Start: ast.Position{
									Column: 37,
									Line:   4,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   4,
									},
									File:   "experimental.flux",
									Source: "to",
									Start: ast.Position{
										Column: 37,
										Line:   4,
									},
								},
							},
							Name: "to",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   4,
									},
									File:   "experimental.flux",
									Source: "time",
									Start: ast.Position{
										Column: 41,
										Line:   4,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   4,
										},
										File:   "experimental.flux",
										Source: "time",
										Start: ast.Position{
											Column: 41,
											Line:   4,
										},
									},
								},
								Name: "time",
							},
						},
					}},
					Return: &ast.NamedType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 54,
									Line:   4,
								},
								File:   "experimental.flux",
								Source: "time",
								Start: ast.Position{
									Column: 50,
									Line:   4,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 54,
										Line:   4,
									},
									File:   "experimental.flux",
									Source: "time",
									Start: ast.Position{
										Column: 50,
										Line:   4,
									},
								},
							},
							Name: "time",
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 20,
						Line:   5,
					},
					File:   "experimental.flux",
					Source: "builtin subDuration",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   5,
						},
						File:   "experimental.flux",
						Source: "subDuration",
						Start: ast.Position{
							Column: 9,
							Line:   5,
						},
					},
				},
				Name: "subDuration",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 56,
							Line:   5,
						},
						File:   "experimental.flux",
						Source: "(d: duration, from: time) => time",
						Start: ast.Position{
							Column: 23,
							Line:   5,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 56,
								Line:   5,
							},
							File:   "experimental.flux",
							Source: "(d: duration, from: time) => time",
							Start: ast.Position{
								Column: 23,
								Line:   5,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   5,
								},
								File:   "experimental.flux",
								Source: "d: duration",
								Start: ast.Position{
									Column: 24,
									Line:   5,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   5,
									},
									File:   "experimental.flux",
									Source: "d",
									Start: ast.Position{
										Column: 24,
										Line:   5,
									},
								},
							},
							Name: "d",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   5,
									},
									File:   "experimental.flux",
									Source: "duration",
									Start: ast.Position{
										Column: 27,
										Line:   5,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 35,
											Line:   5,
										},
										File:   "experimental.flux",
										Source: "duration",
										Start: ast.Position{
											Column: 27,
											Line:   5,
										},
									},
								},
								Name: "duration",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   5,
								},
								File:   "experimental.flux",
								Source: "from: time",
								Start: ast.Position{
									Column: 37,
									Line:   5,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   5,
									},
									File:   "experimental.flux",
									Source: "from",
									Start: ast.Position{
										Column: 37,
										Line:   5,
									},
								},
							},
							Name: "from",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 47,
										Line:   5,
									},
									File:   "experimental.flux",
									Source: "time",
									Start: ast.Position{
										Column: 43,
										Line:   5,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 47,
											Line:   5,
										},
										File:   "experimental.flux",
										Source: "time",
										Start: ast.Position{
											Column: 43,
											Line:   5,
										},
									},
								},
								Name: "time",
							},
						},
					}},
					Return: &ast.NamedType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 56,
									Line:   5,
								},
								File:   "experimental.flux",
								Source: "time",
								Start: ast.Position{
									Column: 52,
									Line:   5,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 56,
										Line:   5,
									},
									File:   "experimental.flux",
									Source: "time",
									Start: ast.Position{
										Column: 52,
										Line:   5,
									},
								},
							},
							Name: "time",
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of group that has mode: \"extend\"\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   8,
					},
					File:   "experimental.flux",
					Source: "builtin group",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   8,
						},
						File:   "experimental.flux",
						Source: "group",
						Start: ast.Position{
							Column: 9,
							Line:   8,
						},
					},
				},
				Name: "group",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 88,
							Line:   8,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [A], mode: string, columns: [string]) => [A] where A: Record",
						Start: ast.Position{
							Column: 17,
							Line:   8,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 88,
								Line:   8,
							},
							File:   "experimental.flux",
							Source: "A: Record",
							Start: ast.Position{
								Column: 79,
								Line:   8,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 88,
									Line:   8,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 82,
									Line:   8,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 80,
									Line:   8,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 79,
									Line:   8,
								},
							},
						},
						Name: "A",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 72,
								Line:   8,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [A], mode: string, columns: [string]) => [A]",
							Start: ast.Position{
								Column: 17,
								Line:   8,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 31,
									Line:   8,
								},
								File:   "experimental.flux",
								Source: "<-tables: [A]",
								Start: ast.Position{
									Column: 18,
									Line:   8,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   8,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 20,
										Line:   8,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 31,
										Line:   8,
									},
									File:   "experimental.flux",
									Source: "[A]",
									Start: ast.Position{
										Column: 28,
										Line:   8,
									},
								},
							},
							ElementType: &ast.TvarType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 30,
											Line:   8,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 29,
											Line:   8,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   8,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 29,
												Line:   8,
											},
										},
									},
									Name: "A",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 45,
									Line:   8,
								},
								File:   "experimental.flux",
								Source: "mode: string",
								Start: ast.Position{
									Column: 33,
									Line:   8,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   8,
									},
									File:   "experimental.flux",
									Source: "mode",
									Start: ast.Position{
										Column: 33,
										Line:   8,
									},
								},
							},
							Name: "mode",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   8,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 39,
										Line:   8,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   8,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 39,
											Line:   8,
										},
									},
								},
								Name: "string",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 64,
									Line:   8,
								},
								File:   "experimental.flux",
								Source: "columns: [string]",
								Start: ast.Position{
									Column: 47,
									Line:   8,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 54,
										Line:   8,
									},
									File:   "experimental.flux",
									Source: "columns",
									Start: ast.Position{
										Column: 47,
										Line:   8,
									},
								},
							},
							Name: "columns",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 64,
										Line:   8,
									},
									File:   "experimental.flux",
									Source: "[string]",
									Start: ast.Position{
										Column: 56,
										Line:   8,
									},
								},
							},
							ElementType: &ast.NamedType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   8,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 57,
											Line:   8,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   8,
											},
											File:   "experimental.flux",
											Source: "string",
											Start: ast.Position{
												Column: 57,
												Line:   8,
											},
										},
									},
									Name: "string",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 72,
									Line:   8,
								},
								File:   "experimental.flux",
								Source: "[A]",
								Start: ast.Position{
									Column: 69,
									Line:   8,
								},
							},
						},
						ElementType: &ast.TvarType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 71,
										Line:   8,
									},
									File:   "experimental.flux",
									Source: "A",
									Start: ast.Position{
										Column: 70,
										Line:   8,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   8,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 70,
											Line:   8,
										},
									},
								},
								Name: "A",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// objectKeys produces a list of the keys existing on the object\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 19,
						Line:   11,
					},
					File:   "experimental.flux",
					Source: "builtin objectKeys",
					Start: ast.Position{
						Column: 1,
						Line:   11,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 19,
							Line:   11,
						},
						File:   "experimental.flux",
						Source: "objectKeys",
						Start: ast.Position{
							Column: 9,
							Line:   11,
						},
					},
				},
				Name: "objectKeys",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 56,
							Line:   11,
						},
						File:   "experimental.flux",
						Source: "(o: A) => [string] where A: Record",
						Start: ast.Position{
							Column: 22,
							Line:   11,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 56,
								Line:   11,
							},
							File:   "experimental.flux",
							Source: "A: Record",
							Start: ast.Position{
								Column: 47,
								Line:   11,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 56,
									Line:   11,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 50,
									Line:   11,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 48,
									Line:   11,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 47,
									Line:   11,
								},
							},
						},
						Name: "A",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   11,
							},
							File:   "experimental.flux",
							Source: "(o: A) => [string]",
							Start: ast.Position{
								Column: 22,
								Line:   11,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   11,
								},
								File:   "experimental.flux",
								Source: "o: A",
								Start: ast.Position{
									Column: 23,
									Line:   11,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   11,
									},
									File:   "experimental.flux",
									Source: "o",
									Start: ast.Position{
										Column: 23,
										Line:   11,
									},
								},
							},
							Name: "o",
						},
						Ty: &ast.TvarType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 27,
										Line:   11,
									},
									File:   "experimental.flux",
									Source: "A",
									Start: ast.Position{
										Column: 26,
										Line:   11,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   11,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 26,
											Line:   11,
										},
									},
								},
								Name: "A",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   11,
								},
								File:   "experimental.flux",
								Source: "[string]",
								Start: ast.Position{
									Column: 32,
									Line:   11,
								},
							},
						},
						ElementType: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   11,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 33,
										Line:   11,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 39,
											Line:   11,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 33,
											Line:   11,
										},
									},
								},
								Name: "string",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// set adds the values from the object onto each row of a table\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 12,
						Line:   14,
					},
					File:   "experimental.flux",
					Source: "builtin set",
					Start: ast.Position{
						Column: 1,
						Line:   14,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   14,
						},
						File:   "experimental.flux",
						Source: "set",
						Start: ast.Position{
							Column: 9,
							Line:   14,
						},
					},
				},
				Name: "set",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 81,
							Line:   14,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [A], o: B) => [C] where A: Record, B: Record, C: Record",
						Start: ast.Position{
							Column: 15,
							Line:   14,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 59,
								Line:   14,
							},
							File:   "experimental.flux",
							Source: "A: Record",
							Start: ast.Position{
								Column: 50,
								Line:   14,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 59,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 53,
									Line:   14,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 51,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 50,
									Line:   14,
								},
							},
						},
						Name: "A",
					},
				}, &ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 70,
								Line:   14,
							},
							File:   "experimental.flux",
							Source: "B: Record",
							Start: ast.Position{
								Column: 61,
								Line:   14,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 64,
									Line:   14,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 62,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "B",
								Start: ast.Position{
									Column: 61,
									Line:   14,
								},
							},
						},
						Name: "B",
					},
				}, &ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 81,
								Line:   14,
							},
							File:   "experimental.flux",
							Source: "C: Record",
							Start: ast.Position{
								Column: 72,
								Line:   14,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 81,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 75,
									Line:   14,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 73,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "C",
								Start: ast.Position{
									Column: 72,
									Line:   14,
								},
							},
						},
						Name: "C",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 43,
								Line:   14,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [A], o: B) => [C]",
							Start: ast.Position{
								Column: 15,
								Line:   14,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "<-tables: [A]",
								Start: ast.Position{
									Column: 16,
									Line:   14,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   14,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 18,
										Line:   14,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   14,
									},
									File:   "experimental.flux",
									Source: "[A]",
									Start: ast.Position{
										Column: 26,
										Line:   14,
									},
								},
							},
							ElementType: &ast.TvarType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   14,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 27,
											Line:   14,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   14,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 27,
												Line:   14,
											},
										},
									},
									Name: "A",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "o: B",
								Start: ast.Position{
									Column: 31,
									Line:   14,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   14,
									},
									File:   "experimental.flux",
									Source: "o",
									Start: ast.Position{
										Column: 31,
										Line:   14,
									},
								},
							},
							Name: "o",
						},
						Ty: &ast.TvarType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   14,
									},
									File:   "experimental.flux",
									Source: "B",
									Start: ast.Position{
										Column: 34,
										Line:   14,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 35,
											Line:   14,
										},
										File:   "experimental.flux",
										Source: "B",
										Start: ast.Position{
											Column: 34,
											Line:   14,
										},
									},
								},
								Name: "B",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   14,
								},
								File:   "experimental.flux",
								Source: "[C]",
								Start: ast.Position{
									Column: 40,
									Line:   14,
								},
							},
						},
						ElementType: &ast.TvarType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   14,
									},
									File:   "experimental.flux",
									Source: "C",
									Start: ast.Position{
										Column: 41,
										Line:   14,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   14,
										},
										File:   "experimental.flux",
										Source: "C",
										Start: ast.Position{
											Column: 41,
											Line:   14,
										},
									},
								},
								Name: "C",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of \"to\" that:\n"}, ast.Comment{Text: "// - Expects pivoted data\n"}, ast.Comment{Text: "// - Any column in the group key is made a tag in storage\n"}, ast.Comment{Text: "// - All other columns are fields\n"}, ast.Comment{Text: "// - An error will be thrown for incompatible data types\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 11,
						Line:   21,
					},
					File:   "experimental.flux",
					Source: "builtin to",
					Start: ast.Position{
						Column: 1,
						Line:   21,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   21,
						},
						File:   "experimental.flux",
						Source: "to",
						Start: ast.Position{
							Column: 9,
							Line:   21,
						},
					},
				},
				Name: "to",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   30,
						},
						File:   "experimental.flux",
						Source: "(\n    <-tables: [A],\n    ?bucket: string,\n    ?bucketID: string,\n    ?org: string,\n    ?orgID: string,\n    ?host: string,\n    ?token: string,\n) => [A] where\n    A: Record",
						Start: ast.Position{
							Column: 14,
							Line:   21,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   30,
							},
							File:   "experimental.flux",
							Source: "A: Record",
							Start: ast.Position{
								Column: 5,
								Line:   30,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   30,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 8,
									Line:   30,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   30,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 5,
									Line:   30,
								},
							},
						},
						Name: "A",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 9,
								Line:   29,
							},
							File:   "experimental.flux",
							Source: "(\n    <-tables: [A],\n    ?bucket: string,\n    ?bucketID: string,\n    ?org: string,\n    ?orgID: string,\n    ?host: string,\n    ?token: string,\n) => [A]",
							Start: ast.Position{
								Column: 14,
								Line:   21,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   22,
								},
								File:   "experimental.flux",
								Source: "<-tables: [A]",
								Start: ast.Position{
									Column: 5,
									Line:   22,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   22,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 7,
										Line:   22,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   22,
									},
									File:   "experimental.flux",
									Source: "[A]",
									Start: ast.Position{
										Column: 15,
										Line:   22,
									},
								},
							},
							ElementType: &ast.TvarType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   22,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 16,
											Line:   22,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   22,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 16,
												Line:   22,
											},
										},
									},
									Name: "A",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   23,
								},
								File:   "experimental.flux",
								Source: "?bucket: string",
								Start: ast.Position{
									Column: 5,
									Line:   23,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   23,
									},
									File:   "experimental.flux",
									Source: "bucket",
									Start: ast.Position{
										Column: 6,
										Line:   23,
									},
								},
							},
							Name: "bucket",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 20,
										Line:   23,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 14,
										Line:   23,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 20,
											Line:   23,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 14,
											Line:   23,
										},
									},
								},
								Name: "string",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   24,
								},
								File:   "experimental.flux",
								Source: "?bucketID: string",
								Start: ast.Position{
									Column: 5,
									Line:   24,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   24,
									},
									File:   "experimental.flux",
									Source: "bucketID",
									Start: ast.Position{
										Column: 6,
										Line:   24,
									},
								},
							},
							Name: "bucketID",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 22,
										Line:   24,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 16,
										Line:   24,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 22,
											Line:   24,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 16,
											Line:   24,
										},
									},
								},
								Name: "string",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   25,
								},
								File:   "experimental.flux",
								Source: "?org: string",
								Start: ast.Position{
									Column: 5,
									Line:   25,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 9,
										Line:   25,
									},
									File:   "experimental.flux",
									Source: "org",
									Start: ast.Position{
										Column: 6,
										Line:   25,
									},
								},
							},
							Name: "org",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   25,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 11,
										Line:   25,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   25,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 11,
											Line:   25,
										},
									},
								},
								Name: "string",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   26,
								},
								File:   "experimental.flux",
								Source: "?orgID: string",
								Start: ast.Position{
									Column: 5,
									Line:   26,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   26,
									},
									File:   "experimental.flux",
									Source: "orgID",
									Start: ast.Position{
										Column: 6,
										Line:   26,
									},
								},
							},
							Name: "orgID",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 19,
										Line:   26,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 13,
										Line:   26,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 19,
											Line:   26,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 13,
											Line:   26,
										},
									},
								},
								Name: "string",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   27,
								},
								File:   "experimental.flux",
								Source: "?host: string",
								Start: ast.Position{
									Column: 5,
									Line:   27,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   27,
									},
									File:   "experimental.flux",
									Source: "host",
									Start: ast.Position{
										Column: 6,
										Line:   27,
									},
								},
							},
							Name: "host",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   27,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 12,
										Line:   27,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   27,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 12,
											Line:   27,
										},
									},
								},
								Name: "string",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   28,
								},
								File:   "experimental.flux",
								Source: "?token: string",
								Start: ast.Position{
									Column: 5,
									Line:   28,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   28,
									},
									File:   "experimental.flux",
									Source: "token",
									Start: ast.Position{
										Column: 6,
										Line:   28,
									},
								},
							},
							Name: "token",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 19,
										Line:   28,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 13,
										Line:   28,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 19,
											Line:   28,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 13,
											Line:   28,
										},
									},
								},
								Name: "string",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 9,
									Line:   29,
								},
								File:   "experimental.flux",
								Source: "[A]",
								Start: ast.Position{
									Column: 6,
									Line:   29,
								},
							},
						},
						ElementType: &ast.TvarType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 8,
										Line:   29,
									},
									File:   "experimental.flux",
									Source: "A",
									Start: ast.Position{
										Column: 7,
										Line:   29,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 8,
											Line:   29,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 7,
											Line:   29,
										},
									},
								},
								Name: "A",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of join.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   33,
					},
					File:   "experimental.flux",
					Source: "builtin join",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   33,
						},
						File:   "experimental.flux",
						Source: "join",
						Start: ast.Position{
							Column: 9,
							Line:   33,
						},
					},
				},
				Name: "join",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   33,
						},
						File:   "experimental.flux",
						Source: "(left: [A], right: [B], fn: (left: A, right: B) => C) => [C] where A: Record, B: Record, C: Record",
						Start: ast.Position{
							Column: 16,
							Line:   33,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 92,
								Line:   33,
							},
							File:   "experimental.flux",
							Source: "A: Record",
							Start: ast.Position{
								Column: 83,
								Line:   33,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 92,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 86,
									Line:   33,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 84,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 83,
									Line:   33,
								},
							},
						},
						Name: "A",
					},
				}, &ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 103,
								Line:   33,
							},
							File:   "experimental.flux",
							Source: "B: Record",
							Start: ast.Position{
								Column: 94,
								Line:   33,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 103,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 97,
									Line:   33,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 95,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "B",
								Start: ast.Position{
									Column: 94,
									Line:   33,
								},
							},
						},
						Name: "B",
					},
				}, &ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   33,
							},
							File:   "experimental.flux",
							Source: "C: Record",
							Start: ast.Position{
								Column: 105,
								Line:   33,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 108,
									Line:   33,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 106,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "C",
								Start: ast.Position{
									Column: 105,
									Line:   33,
								},
							},
						},
						Name: "C",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 76,
								Line:   33,
							},
							File:   "experimental.flux",
							Source: "(left: [A], right: [B], fn: (left: A, right: B) => C) => [C]",
							Start: ast.Position{
								Column: 16,
								Line:   33,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "left: [A]",
								Start: ast.Position{
									Column: 17,
									Line:   33,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   33,
									},
									File:   "experimental.flux",
									Source: "left",
									Start: ast.Position{
										Column: 17,
										Line:   33,
									},
								},
							},
							Name: "left",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   33,
									},
									File:   "experimental.flux",
									Source: "[A]",
									Start: ast.Position{
										Column: 23,
										Line:   33,
									},
								},
							},
							ElementType: &ast.TvarType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   33,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 24,
											Line:   33,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   33,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 24,
												Line:   33,
											},
										},
									},
									Name: "A",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 38,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "right: [B]",
								Start: ast.Position{
									Column: 28,
									Line:   33,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   33,
									},
									File:   "experimental.flux",
									Source: "right",
									Start: ast.Position{
										Column: 28,
										Line:   33,
									},
								},
							},
							Name: "right",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   33,
									},
									File:   "experimental.flux",
									Source: "[B]",
									Start: ast.Position{
										Column: 35,
										Line:   33,
									},
								},
							},
							ElementType: &ast.TvarType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   33,
										},
										File:   "experimental.flux",
										Source: "B",
										Start: ast.Position{
											Column: 36,
											Line:   33,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   33,
											},
											File:   "experimental.flux",
											Source: "B",
											Start: ast.Position{
												Column: 36,
												Line:   33,
											},
										},
									},
									Name: "B",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 68,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "fn: (left: A, right: B) => C",
								Start: ast.Position{
									Column: 40,
									Line:   33,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   33,
									},
									File:   "experimental.flux",
									Source: "fn",
									Start: ast.Position{
										Column: 40,
										Line:   33,
									},
								},
							},
							Name: "fn",
						},
						Ty: &ast.FunctionType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 68,
										Line:   33,
									},
									File:   "experimental.flux",
									Source: "(left: A, right: B) => C",
									Start: ast.Position{
										Column: 44,
										Line:   33,
									},
								},
							},
							Parameters: []*ast.ParameterType{&ast.ParameterType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 52,
											Line:   33,
										},
										File:   "experimental.flux",
										Source: "left: A",
										Start: ast.Position{
											Column: 45,
											Line:   33,
										},
									},
								},
								Kind: "Required",
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   33,
											},
											File:   "experimental.flux",
											Source: "left",
											Start: ast.Position{
												Column: 45,
												Line:   33,
											},
										},
									},
									Name: "left",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   33,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 51,
												Line:   33,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   33,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 51,
													Line:   33,
												},
											},
										},
										Name: "A",
									},
								},
							}, &ast.ParameterType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   33,
										},
										File:   "experimental.flux",
										Source: "right: B",
										Start: ast.Position{
											Column: 54,
											Line:   33,
										},
									},
								},
								Kind: "Required",
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 59,
												Line:   33,
											},
											File:   "experimental.flux",
											Source: "right",
											Start: ast.Position{
												Column: 54,
												Line:   33,
											},
										},
									},
									Name: "right",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   33,
											},
											File:   "experimental.flux",
											Source: "B",
											Start: ast.Position{
												Column: 61,
												Line:   33,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   33,
												},
												File:   "experimental.flux",
												Source: "B",
												Start: ast.Position{
													Column: 61,
													Line:   33,
												},
											},
										},
										Name: "B",
									},
								},
							}},
							Return: &ast.TvarType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   33,
										},
										File:   "experimental.flux",
										Source: "C",
										Start: ast.Position{
											Column: 67,
											Line:   33,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   33,
											},
											File:   "experimental.flux",
											Source: "C",
											Start: ast.Position{
												Column: 67,
												Line:   33,
											},
										},
									},
									Name: "C",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 76,
									Line:   33,
								},
								File:   "experimental.flux",
								Source: "[C]",
								Start: ast.Position{
									Column: 73,
									Line:   33,
								},
							},
						},
						ElementType: &ast.TvarType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 75,
										Line:   33,
									},
									File:   "experimental.flux",
									Source: "C",
									Start: ast.Position{
										Column: 74,
										Line:   33,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   33,
										},
										File:   "experimental.flux",
										Source: "C",
										Start: ast.Position{
											Column: 74,
											Line:   33,
										},
									},
								},
								Name: "C",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   34,
					},
					File:   "experimental.flux",
					Source: "builtin chain",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   34,
						},
						File:   "experimental.flux",
						Source: "chain",
						Start: ast.Position{
							Column: 9,
							Line:   34,
						},
					},
				},
				Name: "chain",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 76,
							Line:   34,
						},
						File:   "experimental.flux",
						Source: "(first: [A], second: [B]) => [B] where A: Record, B: Record",
						Start: ast.Position{
							Column: 17,
							Line:   34,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 65,
								Line:   34,
							},
							File:   "experimental.flux",
							Source: "A: Record",
							Start: ast.Position{
								Column: 56,
								Line:   34,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 65,
									Line:   34,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 59,
									Line:   34,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 57,
									Line:   34,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 56,
									Line:   34,
								},
							},
						},
						Name: "A",
					},
				}, &ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 76,
								Line:   34,
							},
							File:   "experimental.flux",
							Source: "B: Record",
							Start: ast.Position{
								Column: 67,
								Line:   34,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 76,
									Line:   34,
								},
								File:   "experimental.flux",
								Source: "Record",
								Start: ast.Position{
									Column: 70,
									Line:   34,
								},
							},
						},
						Name: "Record",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 68,
									Line:   34,
								},
								File:   "experimental.flux",
								Source: "B",
								Start: ast.Position{
									Column: 67,
									Line:   34,
								},
							},
						},
						Name: "B",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 49,
								Line:   34,
							},
							File:   "experimental.flux",
							Source: "(first: [A], second: [B]) => [B]",
							Start: ast.Position{
								Column: 17,
								Line:   34,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   34,
								},
								File:   "experimental.flux",
								Source: "first: [A]",
								Start: ast.Position{
									Column: 18,
									Line:   34,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   34,
									},
									File:   "experimental.flux",
									Source: "first",
									Start: ast.Position{
										Column: 18,
										Line:   34,
									},
								},
							},
							Name: "first",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   34,
									},
									File:   "experimental.flux",
									Source: "[A]",
									Start: ast.Position{
										Column: 25,
										Line:   34,
									},
								},
							},
							ElementType: &ast.TvarType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   34,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 26,
											Line:   34,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   34,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 26,
												Line:   34,
											},
										},
									},
									Name: "A",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   34,
								},
								File:   "experimental.flux",
								Source: "second: [B]",
								Start: ast.Position{
									Column: 30,
									Line:   34,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   34,
									},
									File:   "experimental.flux",
									Source: "second",
									Start: ast.Position{
										Column: 30,
										Line:   34,
									},
								},
							},
							Name: "second",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   34,
									},
									File:   "experimental.flux",
									Source: "[B]",
									Start: ast.Position{
										Column: 38,
										Line:   34,
									},
								},
							},
							ElementType: &ast.TvarType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   34,
										},
										File:   "experimental.flux",
										Source: "B",
										Start: ast.Position{
											Column: 39,
											Line:   34,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   34,
											},
											File:   "experimental.flux",
											Source: "B",
											Start: ast.Position{
												Column: 39,
												Line:   34,
											},
										},
									},
									Name: "B",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   34,
								},
								File:   "experimental.flux",
								Source: "[B]",
								Start: ast.Position{
									Column: 46,
									Line:   34,
								},
							},
						},
						ElementType: &ast.TvarType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   34,
									},
									File:   "experimental.flux",
									Source: "B",
									Start: ast.Position{
										Column: 47,
										Line:   34,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   34,
										},
										File:   "experimental.flux",
										Source: "B",
										Start: ast.Position{
											Column: 47,
											Line:   34,
										},
									},
								},
								Name: "B",
							},
						},
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 35,
						Line:   47,
					},
					File:   "experimental.flux",
					Source: "alignTime = (tables=<-, alignTo=time(v: 0)) => tables\n    |> stateDuration(\n        fn: (r) => true,\n        column: \"timeDiff\",\n        unit: 1ns,\n    )\n    |> map(fn: (r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)}))\n    |> drop(columns: [\"timeDiff\"])",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: []ast.Comment{ast.Comment{Text: "// Aligns all tables to a common start time by using the same _time value for\n"}, ast.Comment{Text: "// the first record in each table and incrementing all subsequent _time values\n"}, ast.Comment{Text: "// using time elapsed between input records.\n"}, ast.Comment{Text: "// By default, it aligns to tables to 1970-01-01T00:00:00Z UTC.\n"}},
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   40,
						},
						File:   "experimental.flux",
						Source: "alignTime",
						Start: ast.Position{
							Column: 1,
							Line:   40,
						},
					},
				},
				Name: "alignTime",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 35,
							Line:   47,
						},
						File:   "experimental.flux",
						Source: "(tables=<-, alignTo=time(v: 0)) => tables\n    |> stateDuration(\n        fn: (r) => true,\n        column: \"timeDiff\",\n        unit: 1ns,\n    )\n    |> map(fn: (r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)}))\n    |> drop(columns: [\"timeDiff\"])",
						Start: ast.Position{
							Column: 13,
							Line:   40,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   40,
										},
										File:   "experimental.flux",
										Source: "tables",
										Start: ast.Position{
											Column: 48,
											Line:   40,
										},
									},
								},
								Name: "tables",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 6,
										Line:   45,
									},
									File:   "experimental.flux",
									Source: "tables\n    |> stateDuration(\n        fn: (r) => true,\n        column: \"timeDiff\",\n        unit: 1ns,\n    )",
									Start: ast.Position{
										Column: 48,
										Line:   40,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   44,
											},
											File:   "experimental.flux",
											Source: "fn: (r) => true,\n        column: \"timeDiff\",\n        unit: 1ns",
											Start: ast.Position{
												Column: 9,
												Line:   42,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   42,
												},
												File:   "experimental.flux",
												Source: "fn: (r) => true",
												Start: ast.Position{
													Column: 9,
													Line:   42,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 11,
														Line:   42,
													},
													File:   "experimental.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 9,
														Line:   42,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   42,
													},
													File:   "experimental.flux",
													Source: "(r) => true",
													Start: ast.Position{
														Column: 13,
														Line:   42,
													},
												},
											},
											Body: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   42,
														},
														File:   "experimental.flux",
														Source: "true",
														Start: ast.Position{
															Column: 20,
															Line:   42,
														},
													},
												},
												Name: "true",
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 15,
															Line:   42,
														},
														File:   "experimental.flux",
														Source: "r",
														Start: ast.Position{
															Column: 14,
															Line:   42,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 15,
																Line:   42,
															},
															File:   "experimental.flux",
															Source: "r",
															Start: ast.Position{
																Column: 14,
																Line:   42,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 27,
													Line:   43,
												},
												File:   "experimental.flux",
												Source: "column: \"timeDiff\"",
												Start: ast.Position{
													Column: 9,
													Line:   43,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   43,
													},
													File:   "experimental.flux",
													Source: "column",
													Start: ast.Position{
														Column: 9,
														Line:   43,
													},
												},
											},
											Name: "column",
										},
										Separator: nil,
										Value: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 27,
														Line:   43,
													},
													File:   "experimental.flux",
													Source: "\"timeDiff\"",
													Start: ast.Position{
														Column: 17,
														Line:   43,
													},
												},
											},
											Value: "timeDiff",
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   44,
												},
												File:   "experimental.flux",
												Source: "unit: 1ns",
												Start: ast.Position{
													Column: 9,
													Line:   44,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   44,
													},
													File:   "experimental.flux",
													Source: "unit",
													Start: ast.Position{
														Column: 9,
														Line:   44,
													},
												},
											},
											Name: "unit",
										},
										Separator: nil,
										Value: &ast.DurationLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   44,
													},
													File:   "experimental.flux",
													Source: "1ns",
													Start: ast.Position{
														Column: 15,
														Line:   44,
													},
												},
											},
											Values: []ast.Duration{ast.Duration{
												Magnitude: int64(1),
												Unit:      "ns",
											}},
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 6,
											Line:   45,
										},
										File:   "experimental.flux",
										Source: "stateDuration(\n        fn: (r) => true,\n        column: \"timeDiff\",\n        unit: 1ns,\n    )",
										Start: ast.Position{
											Column: 8,
											Line:   41,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   41,
											},
											File:   "experimental.flux",
											Source: "stateDuration",
											Start: ast.Position{
												Column: 8,
												Line:   41,
											},
										},
									},
									Name: "stateDuration",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 79,
									Line:   46,
								},
								File:   "experimental.flux",
								Source: "tables\n    |> stateDuration(\n        fn: (r) => true,\n        column: \"timeDiff\",\n        unit: 1ns,\n    )\n    |> map(fn: (r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)}))",
								Start: ast.Position{
									Column: 48,
									Line:   40,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 78,
											Line:   46,
										},
										File:   "experimental.flux",
										Source: "fn: (r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)})",
										Start: ast.Position{
											Column: 12,
											Line:   46,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   46,
											},
											File:   "experimental.flux",
											Source: "fn: (r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)})",
											Start: ast.Position{
												Column: 12,
												Line:   46,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   46,
												},
												File:   "experimental.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 12,
													Line:   46,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   46,
												},
												File:   "experimental.flux",
												Source: "(r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)})",
												Start: ast.Position{
													Column: 16,
													Line:   46,
												},
											},
										},
										Body: &ast.ParenExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   46,
													},
													File:   "experimental.flux",
													Source: "({r with _time: time(v: int(v: alignTo) + r.timeDiff)})",
													Start: ast.Position{
														Column: 23,
														Line:   46,
													},
												},
											},
											Expression: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 77,
															Line:   46,
														},
														File:   "experimental.flux",
														Source: "{r with _time: time(v: int(v: alignTo) + r.timeDiff)}",
														Start: ast.Position{
															Column: 24,
															Line:   46,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 76,
																Line:   46,
															},
															File:   "experimental.flux",
															Source: "_time: time(v: int(v: alignTo) + r.timeDiff)",
															Start: ast.Position{
																Column: 32,
																Line:   46,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 37,
																	Line:   46,
																},
																File:   "experimental.flux",
																Source: "_time",
																Start: ast.Position{
																	Column: 32,
																	Line:   46,
																},
															},
														},
														Name: "_time",
													},
													Separator: nil,
													Value: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 75,
																		Line:   46,
																	},
																	File:   "experimental.flux",
																	Source: "v: int(v: alignTo) + r.timeDiff",
																	Start: ast.Position{
																		Column: 44,
																		Line:   46,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 75,
																			Line:   46,
																		},
																		File:   "experimental.flux",
																		Source: "v: int(v: alignTo) + r.timeDiff",
																		Start: ast.Position{
																			Column: 44,
																			Line:   46,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 45,
																				Line:   46,
																			},
																			File:   "experimental.flux",
																			Source: "v",
																			Start: ast.Position{
																				Column: 44,
																				Line:   46,
																			},
																		},
																	},
																	Name: "v",
																},
																Separator: nil,
																Value: &ast.BinaryExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 75,
																				Line:   46,
																			},
																			File:   "experimental.flux",
																			Source: "int(v: alignTo) + r.timeDiff",
																			Start: ast.Position{
																				Column: 47,
																				Line:   46,
																			},
																		},
																	},
																	Left: &ast.CallExpression{
																		Arguments: []ast.Expression{&ast.ObjectExpression{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 61,
																						Line:   46,
																					},
																					File:   "experimental.flux",
																					Source: "v: alignTo",
																					Start: ast.Position{
																						Column: 51,
																						Line:   46,
																					},
																				},
																			},
																			Lbrace: nil,
																			Properties: []*ast.Property{&ast.Property{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 61,
																							Line:   46,
																						},
																						File:   "experimental.flux",
																						Source: "v: alignTo",
																						Start: ast.Position{
																							Column: 51,
																							Line:   46,
																						},
																					},
																				},
																				Comma: nil,
																				Key: &ast.Identifier{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 52,
																								Line:   46,
																							},
																							File:   "experimental.flux",
																							Source: "v",
																							Start: ast.Position{
																								Column: 51,
																								Line:   46,
																							},
																						},
																					},
																					Name: "v",
																				},
																				Separator: nil,
																				Value: &ast.Identifier{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 61,
																								Line:   46,
																							},
																							File:   "experimental.flux",
																							Source: "alignTo",
																							Start: ast.Position{
																								Column: 54,
																								Line:   46,
																							},
																						},
																					},
																					Name: "alignTo",
																				},
																			}},
																			Rbrace: nil,
																			With:   nil,
																		}},
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 62,
																					Line:   46,
																				},
																				File:   "experimental.flux",
																				Source: "int(v: alignTo)",
																				Start: ast.Position{
																					Column: 47,
																					Line:   46,
																				},
																			},
																		},
																		Callee: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 50,
																						Line:   46,
																					},
																					File:   "experimental.flux",
																					Source: "int",
																					Start: ast.Position{
																						Column: 47,
																						Line:   46,
																					},
																				},
																			},
																			Name: "int",
																		},
																		Lparen: nil,
																		Rparen: nil,
																	},
																	Operator: 5,
																	Right: &ast.MemberExpression{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 75,
																					Line:   46,
																				},
																				File:   "experimental.flux",
																				Source: "r.timeDiff",
																				Start: ast.Position{
																					Column: 65,
																					Line:   46,
																				},
																			},
																		},
																		Lbrack: nil,
																		Object: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 66,
																						Line:   46,
																					},
																					File:   "experimental.flux",
																					Source: "r",
																					Start: ast.Position{
																						Column: 65,
																						Line:   46,
																					},
																				},
																			},
																			Name: "r",
																		},
																		Property: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 75,
																						Line:   46,
																					},
																					File:   "experimental.flux",
																					Source: "timeDiff",
																					Start: ast.Position{
																						Column: 67,
																						Line:   46,
																					},
																				},
																			},
																			Name: "timeDiff",
																		},
																		Rbrack: nil,
																	},
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 76,
																	Line:   46,
																},
																File:   "experimental.flux",
																Source: "time(v: int(v: alignTo) + r.timeDiff)",
																Start: ast.Position{
																	Column: 39,
																	Line:   46,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 43,
																		Line:   46,
																	},
																	File:   "experimental.flux",
																	Source: "time",
																	Start: ast.Position{
																		Column: 39,
																		Line:   46,
																	},
																},
															},
															Name: "time",
														},
														Lparen: nil,
														Rparen: nil,
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   46,
															},
															File:   "experimental.flux",
															Source: "r",
															Start: ast.Position{
																Column: 25,
																Line:   46,
															},
														},
													},
													Name: "r",
												},
											},
											Lparen: nil,
											Rparen: nil,
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   46,
													},
													File:   "experimental.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   46,
														},
														File:   "experimental.flux",
														Source: "r",
														Start: ast.Position{
															Column: 17,
															Line:   46,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 79,
										Line:   46,
									},
									File:   "experimental.flux",
									Source: "map(fn: (r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)}))",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   46,
										},
										File:   "experimental.flux",
										Source: "map",
										Start: ast.Position{
											Column: 8,
											Line:   46,
										},
									},
								},
								Name: "map",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   47,
							},
							File:   "experimental.flux",
							Source: "tables\n    |> stateDuration(\n        fn: (r) => true,\n        column: \"timeDiff\",\n        unit: 1ns,\n    )\n    |> map(fn: (r) => ({r with _time: time(v: int(v: alignTo) + r.timeDiff)}))\n    |> drop(columns: [\"timeDiff\"])",
							Start: ast.Position{
								Column: 48,
								Line:   40,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   47,
									},
									File:   "experimental.flux",
									Source: "columns: [\"timeDiff\"]",
									Start: ast.Position{
										Column: 13,
										Line:   47,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   47,
										},
										File:   "experimental.flux",
										Source: "columns: [\"timeDiff\"]",
										Start: ast.Position{
											Column: 13,
											Line:   47,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   47,
											},
											File:   "experimental.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   47,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   47,
											},
											File:   "experimental.flux",
											Source: "[\"timeDiff\"]",
											Start: ast.Position{
												Column: 22,
												Line:   47,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   47,
												},
												File:   "experimental.flux",
												Source: "\"timeDiff\"",
												Start: ast.Position{
													Column: 23,
													Line:   47,
												},
											},
										},
										Value: "timeDiff",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   47,
								},
								File:   "experimental.flux",
								Source: "drop(columns: [\"timeDiff\"])",
								Start: ast.Position{
									Column: 8,
									Line:   47,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   47,
									},
									File:   "experimental.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   47,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   40,
							},
							File:   "experimental.flux",
							Source: "tables=<-",
							Start: ast.Position{
								Column: 14,
								Line:   40,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   40,
								},
								File:   "experimental.flux",
								Source: "tables",
								Start: ast.Position{
									Column: 14,
									Line:   40,
								},
							},
						},
						Name: "tables",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   40,
							},
							File:   "experimental.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   40,
							},
						},
					}},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 43,
								Line:   40,
							},
							File:   "experimental.flux",
							Source: "alignTo=time(v: 0)",
							Start: ast.Position{
								Column: 25,
								Line:   40,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 32,
									Line:   40,
								},
								File:   "experimental.flux",
								Source: "alignTo",
								Start: ast.Position{
									Column: 25,
									Line:   40,
								},
							},
						},
						Name: "alignTo",
					},
					Separator: nil,
					Value: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   40,
									},
									File:   "experimental.flux",
									Source: "v: 0",
									Start: ast.Position{
										Column: 38,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   40,
										},
										File:   "experimental.flux",
										Source: "v: 0",
										Start: ast.Position{
											Column: 38,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   40,
											},
											File:   "experimental.flux",
											Source: "v",
											Start: ast.Position{
												Column: 38,
												Line:   40,
											},
										},
									},
									Name: "v",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   40,
											},
											File:   "experimental.flux",
											Source: "0",
											Start: ast.Position{
												Column: 41,
												Line:   40,
											},
										},
									},
									Value: int64(0),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   40,
								},
								File:   "experimental.flux",
								Source: "time(v: 0)",
								Start: ast.Position{
									Column: 33,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   40,
									},
									File:   "experimental.flux",
									Source: "time",
									Start: ast.Position{
										Column: 33,
										Line:   40,
									},
								},
							},
							Name: "time",
						},
						Lparen: nil,
						Rparen: nil,
					},
				}},
				Rparan: nil,
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of window.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   50,
					},
					File:   "experimental.flux",
					Source: "builtin window",
					Start: ast.Position{
						Column: 1,
						Line:   50,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   50,
						},
						File:   "experimental.flux",
						Source: "window",
						Start: ast.Position{
							Column: 9,
							Line:   50,
						},
					},
				},
				Name: "window",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 55,
							Line:   56,
						},
						File:   "experimental.flux",
						Source: "(\n    <-tables: [{T with _start: time, _stop: time, _time: time}],\n    ?every: duration,\n    ?period: duration,\n    ?offset: duration,\n    ?createEmpty: bool,\n) => [{T with _start: time, _stop: time, _time: time}]",
						Start: ast.Position{
							Column: 18,
							Line:   50,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 55,
								Line:   56,
							},
							File:   "experimental.flux",
							Source: "(\n    <-tables: [{T with _start: time, _stop: time, _time: time}],\n    ?every: duration,\n    ?period: duration,\n    ?offset: duration,\n    ?createEmpty: bool,\n) => [{T with _start: time, _stop: time, _time: time}]",
							Start: ast.Position{
								Column: 18,
								Line:   50,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 64,
									Line:   51,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _start: time, _stop: time, _time: time}]",
								Start: ast.Position{
									Column: 5,
									Line:   51,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   51,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 7,
										Line:   51,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 64,
										Line:   51,
									},
									File:   "experimental.flux",
									Source: "[{T with _start: time, _stop: time, _time: time}]",
									Start: ast.Position{
										Column: 15,
										Line:   51,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   51,
										},
										File:   "experimental.flux",
										Source: "{T with _start: time, _stop: time, _time: time}",
										Start: ast.Position{
											Column: 16,
											Line:   51,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   51,
											},
											File:   "experimental.flux",
											Source: "_start: time",
											Start: ast.Position{
												Column: 24,
												Line:   51,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 30,
													Line:   51,
												},
												File:   "experimental.flux",
												Source: "_start",
												Start: ast.Position{
													Column: 24,
													Line:   51,
												},
											},
										},
										Name: "_start",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   51,
												},
												File:   "experimental.flux",
												Source: "time",
												Start: ast.Position{
													Column: 32,
													Line:   51,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   51,
													},
													File:   "experimental.flux",
													Source: "time",
													Start: ast.Position{
														Column: 32,
														Line:   51,
													},
												},
											},
											Name: "time",
										},
									},
								}, &ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   51,
											},
											File:   "experimental.flux",
											Source: "_stop: time",
											Start: ast.Position{
												Column: 38,
												Line:   51,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   51,
												},
												File:   "experimental.flux",
												Source: "_stop",
												Start: ast.Position{
													Column: 38,
													Line:   51,
												},
											},
										},
										Name: "_stop",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   51,
												},
												File:   "experimental.flux",
												Source: "time",
												Start: ast.Position{
													Column: 45,
													Line:   51,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   51,
													},
													File:   "experimental.flux",
													Source: "time",
													Start: ast.Position{
														Column: 45,
														Line:   51,
													},
												},
											},
											Name: "time",
										},
									},
								}, &ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   51,
											},
											File:   "experimental.flux",
											Source: "_time: time",
											Start: ast.Position{
												Column: 51,
												Line:   51,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   51,
												},
												File:   "experimental.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 51,
													Line:   51,
												},
											},
										},
										Name: "_time",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   51,
												},
												File:   "experimental.flux",
												Source: "time",
												Start: ast.Position{
													Column: 58,
													Line:   51,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   51,
													},
													File:   "experimental.flux",
													Source: "time",
													Start: ast.Position{
														Column: 58,
														Line:   51,
													},
												},
											},
											Name: "time",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   51,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 17,
												Line:   51,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   52,
								},
								File:   "experimental.flux",
								Source: "?every: duration",
								Start: ast.Position{
									Column: 5,
									Line:   52,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   52,
									},
									File:   "experimental.flux",
									Source: "every",
									Start: ast.Position{
										Column: 6,
										Line:   52,
									},
								},
							},
							Name: "every",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   52,
									},
									File:   "experimental.flux",
									Source: "duration",
									Start: ast.Position{
										Column: 13,
										Line:   52,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 21,
											Line:   52,
										},
										File:   "experimental.flux",
										Source: "duration",
										Start: ast.Position{
											Column: 13,
											Line:   52,
										},
									},
								},
								Name: "duration",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   53,
								},
								File:   "experimental.flux",
								Source: "?period: duration",
								Start: ast.Position{
									Column: 5,
									Line:   53,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   53,
									},
									File:   "experimental.flux",
									Source: "period",
									Start: ast.Position{
										Column: 6,
										Line:   53,
									},
								},
							},
							Name: "period",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 22,
										Line:   53,
									},
									File:   "experimental.flux",
									Source: "duration",
									Start: ast.Position{
										Column: 14,
										Line:   53,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 22,
											Line:   53,
										},
										File:   "experimental.flux",
										Source: "duration",
										Start: ast.Position{
											Column: 14,
											Line:   53,
										},
									},
								},
								Name: "duration",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   54,
								},
								File:   "experimental.flux",
								Source: "?offset: duration",
								Start: ast.Position{
									Column: 5,
									Line:   54,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   54,
									},
									File:   "experimental.flux",
									Source: "offset",
									Start: ast.Position{
										Column: 6,
										Line:   54,
									},
								},
							},
							Name: "offset",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 22,
										Line:   54,
									},
									File:   "experimental.flux",
									Source: "duration",
									Start: ast.Position{
										Column: 14,
										Line:   54,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 22,
											Line:   54,
										},
										File:   "experimental.flux",
										Source: "duration",
										Start: ast.Position{
											Column: 14,
											Line:   54,
										},
									},
								},
								Name: "duration",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   55,
								},
								File:   "experimental.flux",
								Source: "?createEmpty: bool",
								Start: ast.Position{
									Column: 5,
									Line:   55,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   55,
									},
									File:   "experimental.flux",
									Source: "createEmpty",
									Start: ast.Position{
										Column: 6,
										Line:   55,
									},
								},
							},
							Name: "createEmpty",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   55,
									},
									File:   "experimental.flux",
									Source: "bool",
									Start: ast.Position{
										Column: 19,
										Line:   55,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   55,
										},
										File:   "experimental.flux",
										Source: "bool",
										Start: ast.Position{
											Column: 19,
											Line:   55,
										},
									},
								},
								Name: "bool",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 55,
									Line:   56,
								},
								File:   "experimental.flux",
								Source: "[{T with _start: time, _stop: time, _time: time}]",
								Start: ast.Position{
									Column: 6,
									Line:   56,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 54,
										Line:   56,
									},
									File:   "experimental.flux",
									Source: "{T with _start: time, _stop: time, _time: time}",
									Start: ast.Position{
										Column: 7,
										Line:   56,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   56,
										},
										File:   "experimental.flux",
										Source: "_start: time",
										Start: ast.Position{
											Column: 15,
											Line:   56,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   56,
											},
											File:   "experimental.flux",
											Source: "_start",
											Start: ast.Position{
												Column: 15,
												Line:   56,
											},
										},
									},
									Name: "_start",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   56,
											},
											File:   "experimental.flux",
											Source: "time",
											Start: ast.Position{
												Column: 23,
												Line:   56,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 27,
													Line:   56,
												},
												File:   "experimental.flux",
												Source: "time",
												Start: ast.Position{
													Column: 23,
													Line:   56,
												},
											},
										},
										Name: "time",
									},
								},
							}, &ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   56,
										},
										File:   "experimental.flux",
										Source: "_stop: time",
										Start: ast.Position{
											Column: 29,
											Line:   56,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   56,
											},
											File:   "experimental.flux",
											Source: "_stop",
											Start: ast.Position{
												Column: 29,
												Line:   56,
											},
										},
									},
									Name: "_stop",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   56,
											},
											File:   "experimental.flux",
											Source: "time",
											Start: ast.Position{
												Column: 36,
												Line:   56,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   56,
												},
												File:   "experimental.flux",
												Source: "time",
												Start: ast.Position{
													Column: 36,
													Line:   56,
												},
											},
										},
										Name: "time",
									},
								},
							}, &ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 53,
											Line:   56,
										},
										File:   "experimental.flux",
										Source: "_time: time",
										Start: ast.Position{
											Column: 42,
											Line:   56,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   56,
											},
											File:   "experimental.flux",
											Source: "_time",
											Start: ast.Position{
												Column: 42,
												Line:   56,
											},
										},
									},
									Name: "_time",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 53,
												Line:   56,
											},
											File:   "experimental.flux",
											Source: "time",
											Start: ast.Position{
												Column: 49,
												Line:   56,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   56,
												},
												File:   "experimental.flux",
												Source: "time",
												Start: ast.Position{
													Column: 49,
													Line:   56,
												},
											},
										},
										Name: "time",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 9,
											Line:   56,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 8,
											Line:   56,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of integral.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   59,
					},
					File:   "experimental.flux",
					Source: "builtin integral",
					Start: ast.Position{
						Column: 1,
						Line:   59,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   59,
						},
						File:   "experimental.flux",
						Source: "integral",
						Start: ast.Position{
							Column: 9,
							Line:   59,
						},
					},
				},
				Name: "integral",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 128,
							Line:   59,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _time: time, _value: B}], ?unit: duration, ?interpolate: string) => [{T with _value: B}]",
						Start: ast.Position{
							Column: 20,
							Line:   59,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 128,
								Line:   59,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _time: time, _value: B}], ?unit: duration, ?interpolate: string) => [{T with _value: B}]",
							Start: ast.Position{
								Column: 20,
								Line:   59,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 64,
									Line:   59,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _time: time, _value: B}]",
								Start: ast.Position{
									Column: 21,
									Line:   59,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   59,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 23,
										Line:   59,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 64,
										Line:   59,
									},
									File:   "experimental.flux",
									Source: "[{T with _time: time, _value: B}]",
									Start: ast.Position{
										Column: 31,
										Line:   59,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   59,
										},
										File:   "experimental.flux",
										Source: "{T with _time: time, _value: B}",
										Start: ast.Position{
											Column: 32,
											Line:   59,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   59,
											},
											File:   "experimental.flux",
											Source: "_time: time",
											Start: ast.Position{
												Column: 40,
												Line:   59,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   59,
												},
												File:   "experimental.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 40,
													Line:   59,
												},
											},
										},
										Name: "_time",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   59,
												},
												File:   "experimental.flux",
												Source: "time",
												Start: ast.Position{
													Column: 47,
													Line:   59,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   59,
													},
													File:   "experimental.flux",
													Source: "time",
													Start: ast.Position{
														Column: 47,
														Line:   59,
													},
												},
											},
											Name: "time",
										},
									},
								}, &ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   59,
											},
											File:   "experimental.flux",
											Source: "_value: B",
											Start: ast.Position{
												Column: 53,
												Line:   59,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   59,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 53,
													Line:   59,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   59,
												},
												File:   "experimental.flux",
												Source: "B",
												Start: ast.Position{
													Column: 61,
													Line:   59,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   59,
													},
													File:   "experimental.flux",
													Source: "B",
													Start: ast.Position{
														Column: 61,
														Line:   59,
													},
												},
											},
											Name: "B",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   59,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 33,
												Line:   59,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 81,
									Line:   59,
								},
								File:   "experimental.flux",
								Source: "?unit: duration",
								Start: ast.Position{
									Column: 66,
									Line:   59,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 71,
										Line:   59,
									},
									File:   "experimental.flux",
									Source: "unit",
									Start: ast.Position{
										Column: 67,
										Line:   59,
									},
								},
							},
							Name: "unit",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 81,
										Line:   59,
									},
									File:   "experimental.flux",
									Source: "duration",
									Start: ast.Position{
										Column: 73,
										Line:   59,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 81,
											Line:   59,
										},
										File:   "experimental.flux",
										Source: "duration",
										Start: ast.Position{
											Column: 73,
											Line:   59,
										},
									},
								},
								Name: "duration",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 103,
									Line:   59,
								},
								File:   "experimental.flux",
								Source: "?interpolate: string",
								Start: ast.Position{
									Column: 83,
									Line:   59,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 95,
										Line:   59,
									},
									File:   "experimental.flux",
									Source: "interpolate",
									Start: ast.Position{
										Column: 84,
										Line:   59,
									},
								},
							},
							Name: "interpolate",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 103,
										Line:   59,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 97,
										Line:   59,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   59,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 97,
											Line:   59,
										},
									},
								},
								Name: "string",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 128,
									Line:   59,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: B}]",
								Start: ast.Position{
									Column: 108,
									Line:   59,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 127,
										Line:   59,
									},
									File:   "experimental.flux",
									Source: "{T with _value: B}",
									Start: ast.Position{
										Column: 109,
										Line:   59,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 126,
											Line:   59,
										},
										File:   "experimental.flux",
										Source: "_value: B",
										Start: ast.Position{
											Column: 117,
											Line:   59,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   59,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 117,
												Line:   59,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 126,
												Line:   59,
											},
											File:   "experimental.flux",
											Source: "B",
											Start: ast.Position{
												Column: 125,
												Line:   59,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 126,
													Line:   59,
												},
												File:   "experimental.flux",
												Source: "B",
												Start: ast.Position{
													Column: 125,
													Line:   59,
												},
											},
										},
										Name: "B",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   59,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 110,
											Line:   59,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of count.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   62,
					},
					File:   "experimental.flux",
					Source: "builtin count",
					Start: ast.Position{
						Column: 1,
						Line:   62,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   62,
						},
						File:   "experimental.flux",
						Source: "count",
						Start: ast.Position{
							Column: 9,
							Line:   62,
						},
					},
				},
				Name: "count",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 75,
							Line:   62,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: int}]",
						Start: ast.Position{
							Column: 17,
							Line:   62,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 75,
								Line:   62,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: int}]",
							Start: ast.Position{
								Column: 17,
								Line:   62,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 48,
									Line:   62,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 18,
									Line:   62,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   62,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 20,
										Line:   62,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   62,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 28,
										Line:   62,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 47,
											Line:   62,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 29,
											Line:   62,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   62,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 37,
												Line:   62,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   62,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 37,
													Line:   62,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   62,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 45,
													Line:   62,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   62,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 45,
														Line:   62,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   62,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 30,
												Line:   62,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 75,
									Line:   62,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: int}]",
								Start: ast.Position{
									Column: 53,
									Line:   62,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 74,
										Line:   62,
									},
									File:   "experimental.flux",
									Source: "{T with _value: int}",
									Start: ast.Position{
										Column: 54,
										Line:   62,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 73,
											Line:   62,
										},
										File:   "experimental.flux",
										Source: "_value: int",
										Start: ast.Position{
											Column: 62,
											Line:   62,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   62,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 62,
												Line:   62,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   62,
											},
											File:   "experimental.flux",
											Source: "int",
											Start: ast.Position{
												Column: 70,
												Line:   62,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   62,
												},
												File:   "experimental.flux",
												Source: "int",
												Start: ast.Position{
													Column: 70,
													Line:   62,
												},
											},
										},
										Name: "int",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 56,
											Line:   62,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 55,
											Line:   62,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of histogramQuantile\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 26,
						Line:   65,
					},
					File:   "experimental.flux",
					Source: "builtin histogramQuantile",
					Start: ast.Position{
						Column: 1,
						Line:   65,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 26,
							Line:   65,
						},
						File:   "experimental.flux",
						Source: "histogramQuantile",
						Start: ast.Position{
							Column: 9,
							Line:   65,
						},
					},
				},
				Name: "histogramQuantile",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 140,
							Line:   65,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: float, le: float}], ?quantile: float, ?minValue: float) => [{T with _value: float}]",
						Start: ast.Position{
							Column: 29,
							Line:   65,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 140,
								Line:   65,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: float, le: float}], ?quantile: float, ?minValue: float) => [{T with _value: float}]",
							Start: ast.Position{
								Column: 29,
								Line:   65,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 75,
									Line:   65,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: float, le: float}]",
								Start: ast.Position{
									Column: 30,
									Line:   65,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   65,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 32,
										Line:   65,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 75,
										Line:   65,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: float, le: float}]",
									Start: ast.Position{
										Column: 40,
										Line:   65,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   65,
										},
										File:   "experimental.flux",
										Source: "{T with _value: float, le: float}",
										Start: ast.Position{
											Column: 41,
											Line:   65,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   65,
											},
											File:   "experimental.flux",
											Source: "_value: float",
											Start: ast.Position{
												Column: 49,
												Line:   65,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   65,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 49,
													Line:   65,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   65,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 57,
													Line:   65,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   65,
													},
													File:   "experimental.flux",
													Source: "float",
													Start: ast.Position{
														Column: 57,
														Line:   65,
													},
												},
											},
											Name: "float",
										},
									},
								}, &ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   65,
											},
											File:   "experimental.flux",
											Source: "le: float",
											Start: ast.Position{
												Column: 64,
												Line:   65,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   65,
												},
												File:   "experimental.flux",
												Source: "le",
												Start: ast.Position{
													Column: 64,
													Line:   65,
												},
											},
										},
										Name: "le",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   65,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 68,
													Line:   65,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   65,
													},
													File:   "experimental.flux",
													Source: "float",
													Start: ast.Position{
														Column: 68,
														Line:   65,
													},
												},
											},
											Name: "float",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   65,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 42,
												Line:   65,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 93,
									Line:   65,
								},
								File:   "experimental.flux",
								Source: "?quantile: float",
								Start: ast.Position{
									Column: 77,
									Line:   65,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 86,
										Line:   65,
									},
									File:   "experimental.flux",
									Source: "quantile",
									Start: ast.Position{
										Column: 78,
										Line:   65,
									},
								},
							},
							Name: "quantile",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 93,
										Line:   65,
									},
									File:   "experimental.flux",
									Source: "float",
									Start: ast.Position{
										Column: 88,
										Line:   65,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 93,
											Line:   65,
										},
										File:   "experimental.flux",
										Source: "float",
										Start: ast.Position{
											Column: 88,
											Line:   65,
										},
									},
								},
								Name: "float",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 111,
									Line:   65,
								},
								File:   "experimental.flux",
								Source: "?minValue: float",
								Start: ast.Position{
									Column: 95,
									Line:   65,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 104,
										Line:   65,
									},
									File:   "experimental.flux",
									Source: "minValue",
									Start: ast.Position{
										Column: 96,
										Line:   65,
									},
								},
							},
							Name: "minValue",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   65,
									},
									File:   "experimental.flux",
									Source: "float",
									Start: ast.Position{
										Column: 106,
										Line:   65,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   65,
										},
										File:   "experimental.flux",
										Source: "float",
										Start: ast.Position{
											Column: 106,
											Line:   65,
										},
									},
								},
								Name: "float",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 140,
									Line:   65,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: float}]",
								Start: ast.Position{
									Column: 116,
									Line:   65,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 139,
										Line:   65,
									},
									File:   "experimental.flux",
									Source: "{T with _value: float}",
									Start: ast.Position{
										Column: 117,
										Line:   65,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 138,
											Line:   65,
										},
										File:   "experimental.flux",
										Source: "_value: float",
										Start: ast.Position{
											Column: 125,
											Line:   65,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 131,
												Line:   65,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 125,
												Line:   65,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 138,
												Line:   65,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 133,
												Line:   65,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 138,
													Line:   65,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 133,
													Line:   65,
												},
											},
										},
										Name: "float",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 119,
											Line:   65,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 118,
											Line:   65,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of mean.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   68,
					},
					File:   "experimental.flux",
					Source: "builtin mean",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   68,
						},
						File:   "experimental.flux",
						Source: "mean",
						Start: ast.Position{
							Column: 9,
							Line:   68,
						},
					},
				},
				Name: "mean",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 80,
							Line:   68,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: float}]) => [{T with _value: float}]",
						Start: ast.Position{
							Column: 16,
							Line:   68,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 80,
								Line:   68,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: float}]) => [{T with _value: float}]",
							Start: ast.Position{
								Column: 16,
								Line:   68,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 51,
									Line:   68,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: float}]",
								Start: ast.Position{
									Column: 17,
									Line:   68,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   68,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 19,
										Line:   68,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 51,
										Line:   68,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: float}]",
									Start: ast.Position{
										Column: 27,
										Line:   68,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   68,
										},
										File:   "experimental.flux",
										Source: "{T with _value: float}",
										Start: ast.Position{
											Column: 28,
											Line:   68,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   68,
											},
											File:   "experimental.flux",
											Source: "_value: float",
											Start: ast.Position{
												Column: 36,
												Line:   68,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   68,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 36,
													Line:   68,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   68,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 44,
													Line:   68,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   68,
													},
													File:   "experimental.flux",
													Source: "float",
													Start: ast.Position{
														Column: 44,
														Line:   68,
													},
												},
											},
											Name: "float",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   68,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 29,
												Line:   68,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 80,
									Line:   68,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: float}]",
								Start: ast.Position{
									Column: 56,
									Line:   68,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 79,
										Line:   68,
									},
									File:   "experimental.flux",
									Source: "{T with _value: float}",
									Start: ast.Position{
										Column: 57,
										Line:   68,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 78,
											Line:   68,
										},
										File:   "experimental.flux",
										Source: "_value: float",
										Start: ast.Position{
											Column: 65,
											Line:   68,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   68,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 65,
												Line:   68,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   68,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 73,
												Line:   68,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   68,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 73,
													Line:   68,
												},
											},
										},
										Name: "float",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 59,
											Line:   68,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 58,
											Line:   68,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of mode.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   71,
					},
					File:   "experimental.flux",
					Source: "builtin mode",
					Start: ast.Position{
						Column: 1,
						Line:   71,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   71,
						},
						File:   "experimental.flux",
						Source: "mode",
						Start: ast.Position{
							Column: 9,
							Line:   71,
						},
					},
				},
				Name: "mode",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 72,
							Line:   71,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
						Start: ast.Position{
							Column: 16,
							Line:   71,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 72,
								Line:   71,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 16,
								Line:   71,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   71,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 17,
									Line:   71,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   71,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 19,
										Line:   71,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 47,
										Line:   71,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 27,
										Line:   71,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   71,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 28,
											Line:   71,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   71,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 36,
												Line:   71,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   71,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 36,
													Line:   71,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   71,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 44,
													Line:   71,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   71,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 44,
														Line:   71,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   71,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 29,
												Line:   71,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 72,
									Line:   71,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 52,
									Line:   71,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 71,
										Line:   71,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 53,
										Line:   71,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   71,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 61,
											Line:   71,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   71,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 61,
												Line:   71,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   71,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 69,
												Line:   71,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   71,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 69,
													Line:   71,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 55,
											Line:   71,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 54,
											Line:   71,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of quantile.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   74,
					},
					File:   "experimental.flux",
					Source: "builtin quantile",
					Start: ast.Position{
						Column: 1,
						Line:   74,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   74,
						},
						File:   "experimental.flux",
						Source: "quantile",
						Start: ast.Position{
							Column: 9,
							Line:   74,
						},
					},
				},
				Name: "quantile",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   74,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: float}], q: float, ?compression: float, ?method: string) => [{T with _value: float}]",
						Start: ast.Position{
							Column: 20,
							Line:   74,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   74,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: float}], q: float, ?compression: float, ?method: string) => [{T with _value: float}]",
							Start: ast.Position{
								Column: 20,
								Line:   74,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 55,
									Line:   74,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: float}]",
								Start: ast.Position{
									Column: 21,
									Line:   74,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 23,
										Line:   74,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 55,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: float}]",
									Start: ast.Position{
										Column: 31,
										Line:   74,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   74,
										},
										File:   "experimental.flux",
										Source: "{T with _value: float}",
										Start: ast.Position{
											Column: 32,
											Line:   74,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 53,
												Line:   74,
											},
											File:   "experimental.flux",
											Source: "_value: float",
											Start: ast.Position{
												Column: 40,
												Line:   74,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   74,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 40,
													Line:   74,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   74,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 48,
													Line:   74,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   74,
													},
													File:   "experimental.flux",
													Source: "float",
													Start: ast.Position{
														Column: 48,
														Line:   74,
													},
												},
											},
											Name: "float",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   74,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 33,
												Line:   74,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 65,
									Line:   74,
								},
								File:   "experimental.flux",
								Source: "q: float",
								Start: ast.Position{
									Column: 57,
									Line:   74,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 58,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "q",
									Start: ast.Position{
										Column: 57,
										Line:   74,
									},
								},
							},
							Name: "q",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 65,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "float",
									Start: ast.Position{
										Column: 60,
										Line:   74,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 65,
											Line:   74,
										},
										File:   "experimental.flux",
										Source: "float",
										Start: ast.Position{
											Column: 60,
											Line:   74,
										},
									},
								},
								Name: "float",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 86,
									Line:   74,
								},
								File:   "experimental.flux",
								Source: "?compression: float",
								Start: ast.Position{
									Column: 67,
									Line:   74,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 79,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "compression",
									Start: ast.Position{
										Column: 68,
										Line:   74,
									},
								},
							},
							Name: "compression",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 86,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "float",
									Start: ast.Position{
										Column: 81,
										Line:   74,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 86,
											Line:   74,
										},
										File:   "experimental.flux",
										Source: "float",
										Start: ast.Position{
											Column: 81,
											Line:   74,
										},
									},
								},
								Name: "float",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 103,
									Line:   74,
								},
								File:   "experimental.flux",
								Source: "?method: string",
								Start: ast.Position{
									Column: 88,
									Line:   74,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 95,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "method",
									Start: ast.Position{
										Column: 89,
										Line:   74,
									},
								},
							},
							Name: "method",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 103,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 97,
										Line:   74,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   74,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 97,
											Line:   74,
										},
									},
								},
								Name: "string",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   74,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: float}]",
								Start: ast.Position{
									Column: 108,
									Line:   74,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   74,
									},
									File:   "experimental.flux",
									Source: "{T with _value: float}",
									Start: ast.Position{
										Column: 109,
										Line:   74,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   74,
										},
										File:   "experimental.flux",
										Source: "_value: float",
										Start: ast.Position{
											Column: 117,
											Line:   74,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   74,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 117,
												Line:   74,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   74,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 125,
												Line:   74,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 130,
													Line:   74,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 125,
													Line:   74,
												},
											},
										},
										Name: "float",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   74,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 110,
											Line:   74,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of skew.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   77,
					},
					File:   "experimental.flux",
					Source: "builtin skew",
					Start: ast.Position{
						Column: 1,
						Line:   77,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   77,
						},
						File:   "experimental.flux",
						Source: "skew",
						Start: ast.Position{
							Column: 9,
							Line:   77,
						},
					},
				},
				Name: "skew",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 80,
							Line:   77,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: float}]) => [{T with _value: float}]",
						Start: ast.Position{
							Column: 16,
							Line:   77,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 80,
								Line:   77,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: float}]) => [{T with _value: float}]",
							Start: ast.Position{
								Column: 16,
								Line:   77,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 51,
									Line:   77,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: float}]",
								Start: ast.Position{
									Column: 17,
									Line:   77,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   77,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 19,
										Line:   77,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 51,
										Line:   77,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: float}]",
									Start: ast.Position{
										Column: 27,
										Line:   77,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   77,
										},
										File:   "experimental.flux",
										Source: "{T with _value: float}",
										Start: ast.Position{
											Column: 28,
											Line:   77,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   77,
											},
											File:   "experimental.flux",
											Source: "_value: float",
											Start: ast.Position{
												Column: 36,
												Line:   77,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   77,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 36,
													Line:   77,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   77,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 44,
													Line:   77,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   77,
													},
													File:   "experimental.flux",
													Source: "float",
													Start: ast.Position{
														Column: 44,
														Line:   77,
													},
												},
											},
											Name: "float",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   77,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 29,
												Line:   77,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 80,
									Line:   77,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: float}]",
								Start: ast.Position{
									Column: 56,
									Line:   77,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 79,
										Line:   77,
									},
									File:   "experimental.flux",
									Source: "{T with _value: float}",
									Start: ast.Position{
										Column: 57,
										Line:   77,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 78,
											Line:   77,
										},
										File:   "experimental.flux",
										Source: "_value: float",
										Start: ast.Position{
											Column: 65,
											Line:   77,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   77,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 65,
												Line:   77,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   77,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 73,
												Line:   77,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   77,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 73,
													Line:   77,
												},
											},
										},
										Name: "float",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 59,
											Line:   77,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 58,
											Line:   77,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of spread.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   80,
					},
					File:   "experimental.flux",
					Source: "builtin spread",
					Start: ast.Position{
						Column: 1,
						Line:   80,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   80,
						},
						File:   "experimental.flux",
						Source: "spread",
						Start: ast.Position{
							Column: 9,
							Line:   80,
						},
					},
				},
				Name: "spread",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 91,
							Line:   80,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}] where A: Numeric",
						Start: ast.Position{
							Column: 18,
							Line:   80,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 91,
								Line:   80,
							},
							File:   "experimental.flux",
							Source: "A: Numeric",
							Start: ast.Position{
								Column: 81,
								Line:   80,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 91,
									Line:   80,
								},
								File:   "experimental.flux",
								Source: "Numeric",
								Start: ast.Position{
									Column: 84,
									Line:   80,
								},
							},
						},
						Name: "Numeric",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 82,
									Line:   80,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 81,
									Line:   80,
								},
							},
						},
						Name: "A",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 74,
								Line:   80,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 18,
								Line:   80,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   80,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 19,
									Line:   80,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 27,
										Line:   80,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 21,
										Line:   80,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   80,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 29,
										Line:   80,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   80,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 30,
											Line:   80,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   80,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 38,
												Line:   80,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   80,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 38,
													Line:   80,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   80,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 46,
													Line:   80,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   80,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 46,
														Line:   80,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   80,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 31,
												Line:   80,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 74,
									Line:   80,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 54,
									Line:   80,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 73,
										Line:   80,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 55,
										Line:   80,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   80,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 63,
											Line:   80,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   80,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 63,
												Line:   80,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   80,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 71,
												Line:   80,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   80,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 71,
													Line:   80,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 57,
											Line:   80,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 56,
											Line:   80,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of stddev.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   83,
					},
					File:   "experimental.flux",
					Source: "builtin stddev",
					Start: ast.Position{
						Column: 1,
						Line:   83,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   83,
						},
						File:   "experimental.flux",
						Source: "stddev",
						Start: ast.Position{
							Column: 9,
							Line:   83,
						},
					},
				},
				Name: "stddev",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 97,
							Line:   83,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: float}], ?mode: string) => [{T with _value: float}]",
						Start: ast.Position{
							Column: 18,
							Line:   83,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 97,
								Line:   83,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: float}], ?mode: string) => [{T with _value: float}]",
							Start: ast.Position{
								Column: 18,
								Line:   83,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 53,
									Line:   83,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: float}]",
								Start: ast.Position{
									Column: 19,
									Line:   83,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 27,
										Line:   83,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 21,
										Line:   83,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 53,
										Line:   83,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: float}]",
									Start: ast.Position{
										Column: 29,
										Line:   83,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 52,
											Line:   83,
										},
										File:   "experimental.flux",
										Source: "{T with _value: float}",
										Start: ast.Position{
											Column: 30,
											Line:   83,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   83,
											},
											File:   "experimental.flux",
											Source: "_value: float",
											Start: ast.Position{
												Column: 38,
												Line:   83,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   83,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 38,
													Line:   83,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   83,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 46,
													Line:   83,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   83,
													},
													File:   "experimental.flux",
													Source: "float",
													Start: ast.Position{
														Column: 46,
														Line:   83,
													},
												},
											},
											Name: "float",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   83,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 31,
												Line:   83,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 68,
									Line:   83,
								},
								File:   "experimental.flux",
								Source: "?mode: string",
								Start: ast.Position{
									Column: 55,
									Line:   83,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 60,
										Line:   83,
									},
									File:   "experimental.flux",
									Source: "mode",
									Start: ast.Position{
										Column: 56,
										Line:   83,
									},
								},
							},
							Name: "mode",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 68,
										Line:   83,
									},
									File:   "experimental.flux",
									Source: "string",
									Start: ast.Position{
										Column: 62,
										Line:   83,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   83,
										},
										File:   "experimental.flux",
										Source: "string",
										Start: ast.Position{
											Column: 62,
											Line:   83,
										},
									},
								},
								Name: "string",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 97,
									Line:   83,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: float}]",
								Start: ast.Position{
									Column: 73,
									Line:   83,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 96,
										Line:   83,
									},
									File:   "experimental.flux",
									Source: "{T with _value: float}",
									Start: ast.Position{
										Column: 74,
										Line:   83,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 95,
											Line:   83,
										},
										File:   "experimental.flux",
										Source: "_value: float",
										Start: ast.Position{
											Column: 82,
											Line:   83,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 88,
												Line:   83,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 82,
												Line:   83,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 95,
												Line:   83,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 90,
												Line:   83,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   83,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 90,
													Line:   83,
												},
											},
										},
										Name: "float",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   83,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 75,
											Line:   83,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of sum.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 12,
						Line:   86,
					},
					File:   "experimental.flux",
					Source: "builtin sum",
					Start: ast.Position{
						Column: 1,
						Line:   86,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   86,
						},
						File:   "experimental.flux",
						Source: "sum",
						Start: ast.Position{
							Column: 9,
							Line:   86,
						},
					},
				},
				Name: "sum",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 88,
							Line:   86,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}] where A: Numeric",
						Start: ast.Position{
							Column: 15,
							Line:   86,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 88,
								Line:   86,
							},
							File:   "experimental.flux",
							Source: "A: Numeric",
							Start: ast.Position{
								Column: 78,
								Line:   86,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 88,
									Line:   86,
								},
								File:   "experimental.flux",
								Source: "Numeric",
								Start: ast.Position{
									Column: 81,
									Line:   86,
								},
							},
						},
						Name: "Numeric",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 79,
									Line:   86,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 78,
									Line:   86,
								},
							},
						},
						Name: "A",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 71,
								Line:   86,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 15,
								Line:   86,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   86,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 16,
									Line:   86,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   86,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 18,
										Line:   86,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   86,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 26,
										Line:   86,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   86,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 27,
											Line:   86,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   86,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 35,
												Line:   86,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   86,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 35,
													Line:   86,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   86,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 43,
													Line:   86,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   86,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 43,
														Line:   86,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   86,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 28,
												Line:   86,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 71,
									Line:   86,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 51,
									Line:   86,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   86,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 52,
										Line:   86,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   86,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 60,
											Line:   86,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   86,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 60,
												Line:   86,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   86,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 68,
												Line:   86,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   86,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 68,
													Line:   86,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   86,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 53,
											Line:   86,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of kaufmansAMA.\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 20,
						Line:   89,
					},
					File:   "experimental.flux",
					Source: "builtin kaufmansAMA",
					Start: ast.Position{
						Column: 1,
						Line:   89,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   89,
						},
						File:   "experimental.flux",
						Source: "kaufmansAMA",
						Start: ast.Position{
							Column: 9,
							Line:   89,
						},
					},
				},
				Name: "kaufmansAMA",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 108,
							Line:   89,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}], n: int) => [{T with _value: float}] where A: Numeric",
						Start: ast.Position{
							Column: 23,
							Line:   89,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{&ast.TypeConstraint{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 108,
								Line:   89,
							},
							File:   "experimental.flux",
							Source: "A: Numeric",
							Start: ast.Position{
								Column: 98,
								Line:   89,
							},
						},
					},
					Kinds: []*ast.Identifier{&ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 108,
									Line:   89,
								},
								File:   "experimental.flux",
								Source: "Numeric",
								Start: ast.Position{
									Column: 101,
									Line:   89,
								},
							},
						},
						Name: "Numeric",
					}},
					Tvar: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 99,
									Line:   89,
								},
								File:   "experimental.flux",
								Source: "A",
								Start: ast.Position{
									Column: 98,
									Line:   89,
								},
							},
						},
						Name: "A",
					},
				}},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 91,
								Line:   89,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}], n: int) => [{T with _value: float}]",
							Start: ast.Position{
								Column: 23,
								Line:   89,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 54,
									Line:   89,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 24,
									Line:   89,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   89,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 26,
										Line:   89,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 54,
										Line:   89,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 34,
										Line:   89,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 53,
											Line:   89,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 35,
											Line:   89,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   89,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 43,
												Line:   89,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   89,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 43,
													Line:   89,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   89,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 51,
													Line:   89,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   89,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 51,
														Line:   89,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   89,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 36,
												Line:   89,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 62,
									Line:   89,
								},
								File:   "experimental.flux",
								Source: "n: int",
								Start: ast.Position{
									Column: 56,
									Line:   89,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 57,
										Line:   89,
									},
									File:   "experimental.flux",
									Source: "n",
									Start: ast.Position{
										Column: 56,
										Line:   89,
									},
								},
							},
							Name: "n",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 62,
										Line:   89,
									},
									File:   "experimental.flux",
									Source: "int",
									Start: ast.Position{
										Column: 59,
										Line:   89,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   89,
										},
										File:   "experimental.flux",
										Source: "int",
										Start: ast.Position{
											Column: 59,
											Line:   89,
										},
									},
								},
								Name: "int",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 91,
									Line:   89,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: float}]",
								Start: ast.Position{
									Column: 67,
									Line:   89,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 90,
										Line:   89,
									},
									File:   "experimental.flux",
									Source: "{T with _value: float}",
									Start: ast.Position{
										Column: 68,
										Line:   89,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 89,
											Line:   89,
										},
										File:   "experimental.flux",
										Source: "_value: float",
										Start: ast.Position{
											Column: 76,
											Line:   89,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   89,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 76,
												Line:   89,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 89,
												Line:   89,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 84,
												Line:   89,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   89,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 84,
													Line:   89,
												},
											},
										},
										Name: "float",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   89,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 69,
											Line:   89,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of distinct\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   92,
					},
					File:   "experimental.flux",
					Source: "builtin distinct",
					Start: ast.Position{
						Column: 1,
						Line:   92,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   92,
						},
						File:   "experimental.flux",
						Source: "distinct",
						Start: ast.Position{
							Column: 9,
							Line:   92,
						},
					},
				},
				Name: "distinct",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 76,
							Line:   92,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
						Start: ast.Position{
							Column: 20,
							Line:   92,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 76,
								Line:   92,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 20,
								Line:   92,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 51,
									Line:   92,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 21,
									Line:   92,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   92,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 23,
										Line:   92,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 51,
										Line:   92,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 31,
										Line:   92,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   92,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 32,
											Line:   92,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   92,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 40,
												Line:   92,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   92,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 40,
													Line:   92,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   92,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 48,
													Line:   92,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   92,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 48,
														Line:   92,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   92,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 33,
												Line:   92,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 76,
									Line:   92,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 56,
									Line:   92,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 75,
										Line:   92,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 57,
										Line:   92,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   92,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 65,
											Line:   92,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   92,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 65,
												Line:   92,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   92,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 73,
												Line:   92,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   92,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 73,
													Line:   92,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 59,
											Line:   92,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 58,
											Line:   92,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of fill\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   95,
					},
					File:   "experimental.flux",
					Source: "builtin fill",
					Start: ast.Position{
						Column: 1,
						Line:   95,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   95,
						},
						File:   "experimental.flux",
						Source: "fill",
						Start: ast.Position{
							Column: 9,
							Line:   95,
						},
					},
				},
				Name: "fill",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 103,
							Line:   95,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}], ?value: A, ?usePrevious: bool) => [{T with _value: A}]",
						Start: ast.Position{
							Column: 16,
							Line:   95,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 103,
								Line:   95,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}], ?value: A, ?usePrevious: bool) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 16,
								Line:   95,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   95,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 17,
									Line:   95,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   95,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 19,
										Line:   95,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 47,
										Line:   95,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 27,
										Line:   95,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   95,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 28,
											Line:   95,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   95,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 36,
												Line:   95,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   95,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 36,
													Line:   95,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   95,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 44,
													Line:   95,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   95,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 44,
														Line:   95,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   95,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 29,
												Line:   95,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 58,
									Line:   95,
								},
								File:   "experimental.flux",
								Source: "?value: A",
								Start: ast.Position{
									Column: 49,
									Line:   95,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 55,
										Line:   95,
									},
									File:   "experimental.flux",
									Source: "value",
									Start: ast.Position{
										Column: 50,
										Line:   95,
									},
								},
							},
							Name: "value",
						},
						Ty: &ast.TvarType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 58,
										Line:   95,
									},
									File:   "experimental.flux",
									Source: "A",
									Start: ast.Position{
										Column: 57,
										Line:   95,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 58,
											Line:   95,
										},
										File:   "experimental.flux",
										Source: "A",
										Start: ast.Position{
											Column: 57,
											Line:   95,
										},
									},
								},
								Name: "A",
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 78,
									Line:   95,
								},
								File:   "experimental.flux",
								Source: "?usePrevious: bool",
								Start: ast.Position{
									Column: 60,
									Line:   95,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 72,
										Line:   95,
									},
									File:   "experimental.flux",
									Source: "usePrevious",
									Start: ast.Position{
										Column: 61,
										Line:   95,
									},
								},
							},
							Name: "usePrevious",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 78,
										Line:   95,
									},
									File:   "experimental.flux",
									Source: "bool",
									Start: ast.Position{
										Column: 74,
										Line:   95,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 78,
											Line:   95,
										},
										File:   "experimental.flux",
										Source: "bool",
										Start: ast.Position{
											Column: 74,
											Line:   95,
										},
									},
								},
								Name: "bool",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 103,
									Line:   95,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 83,
									Line:   95,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 102,
										Line:   95,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 84,
										Line:   95,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 101,
											Line:   95,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 92,
											Line:   95,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   95,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 92,
												Line:   95,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   95,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 100,
												Line:   95,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 101,
													Line:   95,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 100,
													Line:   95,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 86,
											Line:   95,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 85,
											Line:   95,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of first\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   98,
					},
					File:   "experimental.flux",
					Source: "builtin first",
					Start: ast.Position{
						Column: 1,
						Line:   98,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   98,
						},
						File:   "experimental.flux",
						Source: "first",
						Start: ast.Position{
							Column: 9,
							Line:   98,
						},
					},
				},
				Name: "first",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 73,
							Line:   98,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
						Start: ast.Position{
							Column: 17,
							Line:   98,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 73,
								Line:   98,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 17,
								Line:   98,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 48,
									Line:   98,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 18,
									Line:   98,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   98,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 20,
										Line:   98,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   98,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 28,
										Line:   98,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 47,
											Line:   98,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 29,
											Line:   98,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   98,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 37,
												Line:   98,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   98,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 37,
													Line:   98,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   98,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 45,
													Line:   98,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   98,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 45,
														Line:   98,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   98,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 30,
												Line:   98,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 73,
									Line:   98,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 53,
									Line:   98,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 72,
										Line:   98,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 54,
										Line:   98,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   98,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 62,
											Line:   98,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   98,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 62,
												Line:   98,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   98,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 70,
												Line:   98,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   98,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 70,
													Line:   98,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 56,
											Line:   98,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 55,
											Line:   98,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of last\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   101,
					},
					File:   "experimental.flux",
					Source: "builtin last",
					Start: ast.Position{
						Column: 1,
						Line:   101,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   101,
						},
						File:   "experimental.flux",
						Source: "last",
						Start: ast.Position{
							Column: 9,
							Line:   101,
						},
					},
				},
				Name: "last",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 72,
							Line:   101,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
						Start: ast.Position{
							Column: 16,
							Line:   101,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 72,
								Line:   101,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 16,
								Line:   101,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   101,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 17,
									Line:   101,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   101,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 19,
										Line:   101,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 47,
										Line:   101,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 27,
										Line:   101,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   101,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 28,
											Line:   101,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   101,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 36,
												Line:   101,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   101,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 36,
													Line:   101,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   101,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 44,
													Line:   101,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   101,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 44,
														Line:   101,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   101,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 29,
												Line:   101,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 72,
									Line:   101,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 52,
									Line:   101,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 71,
										Line:   101,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 53,
										Line:   101,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   101,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 61,
											Line:   101,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   101,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 61,
												Line:   101,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   101,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 69,
												Line:   101,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   101,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 69,
													Line:   101,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 55,
											Line:   101,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 54,
											Line:   101,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of max\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 12,
						Line:   104,
					},
					File:   "experimental.flux",
					Source: "builtin max",
					Start: ast.Position{
						Column: 1,
						Line:   104,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   104,
						},
						File:   "experimental.flux",
						Source: "max",
						Start: ast.Position{
							Column: 9,
							Line:   104,
						},
					},
				},
				Name: "max",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 71,
							Line:   104,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
						Start: ast.Position{
							Column: 15,
							Line:   104,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 71,
								Line:   104,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 15,
								Line:   104,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   104,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 16,
									Line:   104,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   104,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 18,
										Line:   104,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   104,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 26,
										Line:   104,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   104,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 27,
											Line:   104,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   104,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 35,
												Line:   104,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   104,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 35,
													Line:   104,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   104,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 43,
													Line:   104,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   104,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 43,
														Line:   104,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   104,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 28,
												Line:   104,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 71,
									Line:   104,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 51,
									Line:   104,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   104,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 52,
										Line:   104,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   104,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 60,
											Line:   104,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   104,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 60,
												Line:   104,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   104,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 68,
												Line:   104,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   104,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 68,
													Line:   104,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   104,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 53,
											Line:   104,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of min\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 12,
						Line:   107,
					},
					File:   "experimental.flux",
					Source: "builtin min",
					Start: ast.Position{
						Column: 1,
						Line:   107,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   107,
						},
						File:   "experimental.flux",
						Source: "min",
						Start: ast.Position{
							Column: 9,
							Line:   107,
						},
					},
				},
				Name: "min",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 71,
							Line:   107,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
						Start: ast.Position{
							Column: 15,
							Line:   107,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 71,
								Line:   107,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 15,
								Line:   107,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   107,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 16,
									Line:   107,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   107,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 18,
										Line:   107,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   107,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 26,
										Line:   107,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   107,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 27,
											Line:   107,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   107,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 35,
												Line:   107,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   107,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 35,
													Line:   107,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   107,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 43,
													Line:   107,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   107,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 43,
														Line:   107,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   107,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 28,
												Line:   107,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 71,
									Line:   107,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 51,
									Line:   107,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   107,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 52,
										Line:   107,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   107,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 60,
											Line:   107,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   107,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 60,
												Line:   107,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   107,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 68,
												Line:   107,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   107,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 68,
													Line:   107,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   107,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 53,
											Line:   107,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of unique\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   110,
					},
					File:   "experimental.flux",
					Source: "builtin unique",
					Start: ast.Position{
						Column: 1,
						Line:   110,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   110,
						},
						File:   "experimental.flux",
						Source: "unique",
						Start: ast.Position{
							Column: 9,
							Line:   110,
						},
					},
				},
				Name: "unique",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 74,
							Line:   110,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
						Start: ast.Position{
							Column: 18,
							Line:   110,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 74,
								Line:   110,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: A}]) => [{T with _value: A}]",
							Start: ast.Position{
								Column: 18,
								Line:   110,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   110,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: A}]",
								Start: ast.Position{
									Column: 19,
									Line:   110,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 27,
										Line:   110,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 21,
										Line:   110,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   110,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: A}]",
									Start: ast.Position{
										Column: 29,
										Line:   110,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   110,
										},
										File:   "experimental.flux",
										Source: "{T with _value: A}",
										Start: ast.Position{
											Column: 30,
											Line:   110,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   110,
											},
											File:   "experimental.flux",
											Source: "_value: A",
											Start: ast.Position{
												Column: 38,
												Line:   110,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   110,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 38,
													Line:   110,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.TvarType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   110,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 46,
													Line:   110,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   110,
													},
													File:   "experimental.flux",
													Source: "A",
													Start: ast.Position{
														Column: 46,
														Line:   110,
													},
												},
											},
											Name: "A",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   110,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 31,
												Line:   110,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 74,
									Line:   110,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: A}]",
								Start: ast.Position{
									Column: 54,
									Line:   110,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 73,
										Line:   110,
									},
									File:   "experimental.flux",
									Source: "{T with _value: A}",
									Start: ast.Position{
										Column: 55,
										Line:   110,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   110,
										},
										File:   "experimental.flux",
										Source: "_value: A",
										Start: ast.Position{
											Column: 63,
											Line:   110,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   110,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 63,
												Line:   110,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.TvarType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   110,
											},
											File:   "experimental.flux",
											Source: "A",
											Start: ast.Position{
												Column: 71,
												Line:   110,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   110,
												},
												File:   "experimental.flux",
												Source: "A",
												Start: ast.Position{
													Column: 71,
													Line:   110,
												},
											},
										},
										Name: "A",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 57,
											Line:   110,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 56,
											Line:   110,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}, &ast.BuiltinStatement{
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// An experimental version of histogram\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 18,
						Line:   113,
					},
					File:   "experimental.flux",
					Source: "builtin histogram",
					Start: ast.Position{
						Column: 1,
						Line:   113,
					},
				},
			},
			Colon: nil,
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   113,
						},
						File:   "experimental.flux",
						Source: "histogram",
						Start: ast.Position{
							Column: 9,
							Line:   113,
						},
					},
				},
				Name: "histogram",
			},
			Ty: ast.TypeExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 129,
							Line:   113,
						},
						File:   "experimental.flux",
						Source: "(<-tables: [{T with _value: float}], bins: [float], ?normalize: bool) => [{T with _value: float, le: float}]",
						Start: ast.Position{
							Column: 21,
							Line:   113,
						},
					},
				},
				Constraints: []*ast.TypeConstraint{},
				Ty: &ast.FunctionType{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 129,
								Line:   113,
							},
							File:   "experimental.flux",
							Source: "(<-tables: [{T with _value: float}], bins: [float], ?normalize: bool) => [{T with _value: float, le: float}]",
							Start: ast.Position{
								Column: 21,
								Line:   113,
							},
						},
					},
					Parameters: []*ast.ParameterType{&ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 56,
									Line:   113,
								},
								File:   "experimental.flux",
								Source: "<-tables: [{T with _value: float}]",
								Start: ast.Position{
									Column: 22,
									Line:   113,
								},
							},
						},
						Kind: "Pipe",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   113,
									},
									File:   "experimental.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 24,
										Line:   113,
									},
								},
							},
							Name: "tables",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 56,
										Line:   113,
									},
									File:   "experimental.flux",
									Source: "[{T with _value: float}]",
									Start: ast.Position{
										Column: 32,
										Line:   113,
									},
								},
							},
							ElementType: &ast.RecordType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 55,
											Line:   113,
										},
										File:   "experimental.flux",
										Source: "{T with _value: float}",
										Start: ast.Position{
											Column: 33,
											Line:   113,
										},
									},
								},
								Properties: []*ast.PropertyType{&ast.PropertyType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 54,
												Line:   113,
											},
											File:   "experimental.flux",
											Source: "_value: float",
											Start: ast.Position{
												Column: 41,
												Line:   113,
											},
										},
									},
									Name: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   113,
												},
												File:   "experimental.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 41,
													Line:   113,
												},
											},
										},
										Name: "_value",
									},
									Ty: &ast.NamedType{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   113,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 49,
													Line:   113,
												},
											},
										},
										ID: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   113,
													},
													File:   "experimental.flux",
													Source: "float",
													Start: ast.Position{
														Column: 49,
														Line:   113,
													},
												},
											},
											Name: "float",
										},
									},
								}},
								Tvar: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   113,
											},
											File:   "experimental.flux",
											Source: "T",
											Start: ast.Position{
												Column: 34,
												Line:   113,
											},
										},
									},
									Name: "T",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 71,
									Line:   113,
								},
								File:   "experimental.flux",
								Source: "bins: [float]",
								Start: ast.Position{
									Column: 58,
									Line:   113,
								},
							},
						},
						Kind: "Required",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 62,
										Line:   113,
									},
									File:   "experimental.flux",
									Source: "bins",
									Start: ast.Position{
										Column: 58,
										Line:   113,
									},
								},
							},
							Name: "bins",
						},
						Ty: &ast.ArrayType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 71,
										Line:   113,
									},
									File:   "experimental.flux",
									Source: "[float]",
									Start: ast.Position{
										Column: 64,
										Line:   113,
									},
								},
							},
							ElementType: &ast.NamedType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   113,
										},
										File:   "experimental.flux",
										Source: "float",
										Start: ast.Position{
											Column: 65,
											Line:   113,
										},
									},
								},
								ID: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   113,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 65,
												Line:   113,
											},
										},
									},
									Name: "float",
								},
							},
						},
					}, &ast.ParameterType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 89,
									Line:   113,
								},
								File:   "experimental.flux",
								Source: "?normalize: bool",
								Start: ast.Position{
									Column: 73,
									Line:   113,
								},
							},
						},
						Kind: "Optional",
						Name: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 83,
										Line:   113,
									},
									File:   "experimental.flux",
									Source: "normalize",
									Start: ast.Position{
										Column: 74,
										Line:   113,
									},
								},
							},
							Name: "normalize",
						},
						Ty: &ast.NamedType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 89,
										Line:   113,
									},
									File:   "experimental.flux",
									Source: "bool",
									Start: ast.Position{
										Column: 85,
										Line:   113,
									},
								},
							},
							ID: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 89,
											Line:   113,
										},
										File:   "experimental.flux",
										Source: "bool",
										Start: ast.Position{
											Column: 85,
											Line:   113,
										},
									},
								},
								Name: "bool",
							},
						},
					}},
					Return: &ast.ArrayType{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 129,
									Line:   113,
								},
								File:   "experimental.flux",
								Source: "[{T with _value: float, le: float}]",
								Start: ast.Position{
									Column: 94,
									Line:   113,
								},
							},
						},
						ElementType: &ast.RecordType{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 128,
										Line:   113,
									},
									File:   "experimental.flux",
									Source: "{T with _value: float, le: float}",
									Start: ast.Position{
										Column: 95,
										Line:   113,
									},
								},
							},
							Properties: []*ast.PropertyType{&ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   113,
										},
										File:   "experimental.flux",
										Source: "_value: float",
										Start: ast.Position{
											Column: 103,
											Line:   113,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   113,
											},
											File:   "experimental.flux",
											Source: "_value",
											Start: ast.Position{
												Column: 103,
												Line:   113,
											},
										},
									},
									Name: "_value",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   113,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 111,
												Line:   113,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 116,
													Line:   113,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 111,
													Line:   113,
												},
											},
										},
										Name: "float",
									},
								},
							}, &ast.PropertyType{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 127,
											Line:   113,
										},
										File:   "experimental.flux",
										Source: "le: float",
										Start: ast.Position{
											Column: 118,
											Line:   113,
										},
									},
								},
								Name: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   113,
											},
											File:   "experimental.flux",
											Source: "le",
											Start: ast.Position{
												Column: 118,
												Line:   113,
											},
										},
									},
									Name: "le",
								},
								Ty: &ast.NamedType{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 127,
												Line:   113,
											},
											File:   "experimental.flux",
											Source: "float",
											Start: ast.Position{
												Column: 122,
												Line:   113,
											},
										},
									},
									ID: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 127,
													Line:   113,
												},
												File:   "experimental.flux",
												Source: "float",
												Start: ast.Position{
													Column: 122,
													Line:   113,
												},
											},
										},
										Name: "float",
									},
								},
							}},
							Tvar: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   113,
										},
										File:   "experimental.flux",
										Source: "T",
										Start: ast.Position{
											Column: 96,
											Line:   113,
										},
									},
								},
								Name: "T",
							},
						},
					},
				},
			},
		}},
		Eof:      nil,
		Imports:  nil,
		Metadata: "parser-type=rust",
		Name:     "experimental.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 21,
						Line:   1,
					},
					File:   "experimental.flux",
					Source: "package experimental",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 21,
							Line:   1,
						},
						File:   "experimental.flux",
						Source: "experimental",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "experimental",
			},
		},
	}},
	Package: "experimental",
	Path:    "experimental",
}
