AngularJS introspection utilities