code: func (self Object) KeysByParent() [][]string {
  	var a [][]string
  
  	for o := self.object; o != nil; o = o.prototype {
  		var l []string
  
  		o.enumerate(false, func(name string) bool {
  			l = append(l, name)
  			return true
  		})
  
  		a = append(a, l)
  	}
  
  	return a
  }
docs: // KeysByParent gets the keys (and those of the parents) for the given object,
  // in order of "closest" to "furthest".