entity TopLevel = {
  obj: {
    String: String,
    entity: String,
    namespace: String,
    "nested-With-Dash": String,
    nestedStr: String,
    type: String
  }
};

namespace EmptyNs {
}

namespace Ns {
  type Bar = {
    obj: {
      nestedLong: Long,
      nestedObj: {
        nestedStr: String
      }
    },
    setWithAnonymousType: Set<{
      key: String,
      val: String
    }>
  };

  entity Resource = {
    bar: Bar
  };

  entity User;

  action "get" appliesTo {
    principal: [User],
    resource: [Resource],
    context: {}
  };
}
