OK. keyin works now. 

The issue was that we weren't checking to see if the key existed inside of an object. This meant that if you ran getkeyvalues with a path of "a.b.c" on an object that didn't have that key, it would return [<nil>] when it should in fact return [].