Index: uspace/app/sbi/src/stree_t.h
===================================================================
--- uspace/app/sbi/src/stree_t.h	(revision d0febca9f86b5690d11fec7c645836a758567fe6)
+++ uspace/app/sbi/src/stree_t.h	(revision 39e8406404efea86e341847c0720d5d65bed7959)
@@ -82,7 +82,4 @@
 /** Binary operation class */
 typedef enum {
-	bo_period,
-	bo_slash,
-	bo_sbr,
 	bo_equal,
 	bo_notequal,
@@ -178,4 +175,6 @@
 	expr_class_t ec;
 
+	struct tdata_item *titem;
+
 	union {
 		stree_nameref_t *nameref;
@@ -379,6 +378,20 @@
 } stree_proc_arg_t;
 
+/** Procedure
+ *
+ * Procedure is the common term for a getter, setter or function body.
+ * A procedure can be invoked. However, the arguments are specified by
+ * the containing symbol.
+ */
+typedef struct stree_proc {
+	/** Symbol (function or property) containing the procedure */
+	struct stree_symbol *outer_symbol;
+
+	/** Main block */
+	stree_block_t *body;
+} stree_proc_t;
+
 /** Member function declaration */
-typedef struct {
+typedef struct stree_fun {
 	/** Function name */
 	stree_ident_t *name;
@@ -396,10 +409,10 @@
 	stree_texpr_t *rtype;
 
-	/** Function body */
-	stree_block_t *body;
+	/** Function implementation */
+	stree_proc_t *proc;
 } stree_fun_t;
 
 /** Member variable declaration */
-typedef struct {
+typedef struct stree_var {
 	stree_ident_t *name;
 	struct stree_symbol *symbol;
@@ -408,12 +421,13 @@
 
 /** Member property declaration */
-typedef struct {
+typedef struct stree_prop {
 	stree_ident_t *name;
 	struct stree_symbol *symbol;
 	stree_texpr_t *type;
 
-	stree_block_t *getter_body;
-	stree_ident_t *setter_arg_name;
-	stree_block_t *setter_body;
+	stree_proc_t *getter;
+
+	stree_proc_t *setter;
+	stree_proc_arg_t *setter_arg;
 
 	/** Formal parameters (for indexed properties) */
@@ -425,5 +439,6 @@
 
 /**
- * Fake identifier used with indexed properties. (Mostly for error messages.)
+ * Fake identifiers used with symbols that do not really have one.
+ * (Mostly for error messages.)
  */
 #define INDEXER_IDENT "$indexer"
@@ -504,5 +519,9 @@
 } symbol_class_t;
 
-/** Symbol */
+/** Symbol
+ *
+ * A symbol is a common superclass of different program elements that
+ * allow us to refer to them, print their fully qualified names, etc.
+ */
 typedef struct stree_symbol {
 	symbol_class_t sc;
