Index: doc/working/resolver_design.md
===================================================================
--- doc/working/resolver_design.md	(revision f1a10a75c241c188c233941aa9f3878408ea2943)
+++ doc/working/resolver_design.md	(revision 54cd58b05627aa96eb079e979384aae60df8bd8e)
@@ -91,9 +91,15 @@
 ## Conversion Costs ##
 Each possible resolution of an expression has a _cost_ tuple consisting of 
-the following components: _unsafe_ conversion cost, _polymorphic_ 
-specialization cost, _safe_ conversion cost, a count of _explicit_ 
-conversions, and _qualifier_ conversion cost. 
+the following components:
+1. _unsafe_ conversion cost: summed degree of unsafe conversions; unlike CFA03, this is not a simple count of conversions (for symmetry with the safe conversions)
+2. _polymorphic unifications_: count of parameters and return values bound to some polymorphic type for boxing
+3. _type variables_: number of polymorphic type variables bound
+4. negated _type specializations_: Each type assertion specializes the polymorphism, thus decreasing the cost; nested polymorphic types (e.g. `T*`) are also counted as specializations
+5. _safe_ conversions: summed degree of safe conversions
+6. _qualifier_ conversions: summed degree of qualifier and reference conversions
 These components are lexically-ordered and can be summed element-wise; 
 summation starts at `(0, 0, 0, 0, 0)`.
+
+**TODO** update below for consistency with this
 
 ### Lvalue and Qualifier Conversions ###
