   - Seeding that database via a function you supply (which just returns transaction data)
     - Returning a map from temporary ids in your seed data to real datomic ids in the resulting database
 
-  #### Seed functions
+  ### Seed functions
 
   Seeding database can be a real pain, particularly when you need to create a graph of data. You have to generate
   tempids, etc. Then, when you want to find your seeded data you have to figure it out somehow!


  Add `:remote true` to your return value from `a-mutation`. The test should now pass.

  #### **Exercise**: Mutations that modify the ui-tx

  As you probably already know, it is possible to modify the mutation sent to the server by giving an AST
  as the value of `:remote`. Add a parameter to the transaction by modifying the mutation to:

  ```
   (defmethod m/mutate 'a-mutation [{:keys [state ast] :as env} k params]

  `(a-mutation)` is a perfect thing to say to the UI, but when sending it to the server you must add in
  a parameter (e.g. reference ID, auth info, etc.).

  #### Exercise 8

  Check that a mutation is sent to the server.

  This test is again mostly automated for you. Simply call `(ps/check-server-tx do-a-mutation-protocol)` after
  setting `:server-tx value` in your protocol.
