If so, we // get type info for the final available function on the default // property chain. // // Second, if bar is a function that takes arguments, we return // function information for bar. // // If bar does not take arguments and bar returns an object with // a default property, then we return info on the default property. // // Otherwise, we return information on bar. // // This is not actua