<a name="#my_rule"></a>
## my_rule

<pre>
my_rule(name, first, second)
</pre>

This is my rule. It does stuff.

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="#my_rule_name">
      <td><code>name</code></td>
      <td>
        String; required
        <p>
          A unique name for this rule.
        </p>
      </td>
    </tr>
    <tr id="#my_rule_first">
      <td><code>first</code></td>
      <td>
        Label; required
        <p>
          first my_rule doc string
        </p>
      </td>
    </tr>
    <tr id="#my_rule_second">
      <td><code>second</code></td>
      <td>
        Dictionary: String -> String; required
      </td>
    </tr>
  </tbody>
</table>


<a name="#whitelisted_dep_rule"></a>
## whitelisted_dep_rule

<pre>
whitelisted_dep_rule(name, first, second)
</pre>

This is the dep rule. It does stuff.

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="#whitelisted_dep_rule_name">
      <td><code>name</code></td>
      <td>
        String; required
        <p>
          A unique name for this rule.
        </p>
      </td>
    </tr>
    <tr id="#whitelisted_dep_rule_first">
      <td><code>first</code></td>
      <td>
        Label; required
        <p>
          dep's my_rule doc string
        </p>
      </td>
    </tr>
    <tr id="#whitelisted_dep_rule_second">
      <td><code>second</code></td>
      <td>
        Dictionary: String -> String; required
      </td>
    </tr>
  </tbody>
</table>


