func (e *Evaluator) evalProgn(np *gol.NodeProgn) (gol.Node, error) { // Value if no children var lastVal gol.Node lastVal = gol.NewNodeList() body := np.Rest() err := body.Foreach(func(child gol.Node) error { v, err := e.Eval(child) if err != nil { return err } lastVal = v return nil }) if err != nil { return nil, err } // Return last return lastVal, nil }